从Django python中的2个模型获取数据

从Django python中的2个模型获取数据,python,django,orm,django-rest-framework,models,Python,Django,Orm,Django Rest Framework,Models,我想要像 -产品名称 -产品价格 -平均光栅平均额定值 -取决于用户id和产品id,以及 SQL查询,如: class Product(models.Model): name = models.CharField(max_length=200) price = models.FloatField() avgrating = models.FloatField() def __str__(self): return self.name class

我想要像 -产品名称 -产品价格 -平均光栅平均额定值 -取决于用户id和产品id,以及

SQL查询,如:

class Product(models.Model):
    name = models.CharField(max_length=200)
    price = models.FloatField()
    avgrating = models.FloatField()
    def __str__(self):
        return self.name

class Rating(models.Model):
    Product_id = models.ForeignKey('Product', related_name='Product_id')
    User_id = models.ForeignKey('User', related_name='User_id')
    rate = models.IntegerField()
例如:

json格式

select p.name,p.price,p.avgrating,r.rate from Product p, Rating r where User_id=1;
为什么我要使用User\u id\u id


因为,Django为所有与键相关的名称添加了“_id”。因此,如果您直接使用键值,请使用“\u id”。

向我们展示您到目前为止所做的尝试?文档中有很多例子,不是吗?filterUser_id_id=1?@dm295 no。。这只是用户id
{
  "name":"Iphone 8",
  "Price":80000,
  "avgrating":3.5,
  "rate":5
}
results = Rating.objects.filter(User_id_id = 1)
data = []
for res in results:
    data.append( {
          "name": res.Product_id.name,
          "Price": res.Product_id.price,
          "avgrating": res.Product_id.avgrating,
          "rate": res.rate
    })