繁体   English   中英

如何在另一个表Django中引用外键字段

[英]How references fields that are foreignkey in another table , Django

文件资料
models.py
ERD餐厅
python3.6.4,django 2.0

django朋友您好,我需要一些帮助。

这是model.py中的Rating类(Rating Table)

class Rating(models.Model):
     business = models.? r1
     dish = models.? r2
     user = models.ForeignKey(User, on_delete=models.CASCADE, primary_key=True)
     rating = models.IntegerField()
     comment = models.TextField()

如何使用Price.restaurant引用r1,使用Price.dish引用r2? 并将这两个字段设置为主键,以便这三个字段(业务,菜品和用户)可以形成一个复合键。

我在此处使用外键字段中的参数primary_key = True有效吗? 因为我也需要将该字段设置为主键。

Django ORM不支持多列/复合主键。 您需要使用代理密钥。 参见: https : //code.djangoproject.com/wiki/MultipleColumnPrimaryKeys

可能的解决方案:

class Rating(models.Model):
    class Meta:
        unique_together=('business','dish','user')

    business = models.ForeignKey(Restaurant...)
    dish = models.ForeignKey(Dish...)
    user = models.ForeignKey(User...)
    comment = ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM