i have the following model:
class Purchases(models.Model):
    p_id = models.IntegerField(primary_key=True, default=0)
    date = models.DateField(default=datetime.now)
    def __str__(self):
        return self.date.strftime('%Y-%m-%d')
    class Meta:
        verbose_name_plural = "Purchases"
class Purchased_Items(models.Model):
    p_id = models.ForeignKey(Purchases, on_delete=models.CASCADE)
    item = models.CharField(max_length=80)
    size = models.IntegerField(max_length=2)
    quantity = models.IntegerField(max_length=3)
    price = models.IntegerField(max_length=4)
    total = models.IntegerField(default=0)
    def __str__(self):
        return self.item
    class Meta:
        verbose_name_plural = "Purchased Items"
I am trying to retrieve using inner join:
pur = Purchased_Items.objects.all().select_related()
But i am not getting the required result. Basically I want the following sql:
select * from finance_purchases as fp
     inner join finance_purchased_items pi 
           ON (fp.p_id = pi.p_id_id);
another question is although the foreign key in Purchased_Items is p_id but in the column in sql table is p_id_id! why? What is the logic behind it?
Thanks
 
     
    