具有额外属性的多对多关系Django模型

时间:2018-12-26 20:16:02

标签: python model-view-controller django-models many-to-many

我是Django开发的初学者(通常是MVC编程!) 考虑以下示例,如何将这些实体转换为模型?

USER(ID,名称,姓氏)

ENGLISH_CERTIFICATION(ID,代码,名称)

USER_CERTIFICATION(id,id_user,id_english_certification,日期)


class User(models.Model):
    name = models.CharField(max_length=64)
    surname = models.CharField(max_length=64)
    ???

class EnglishCertification(models.Model):
    code= models.CharField(max_length=2)
    name = models.CharField(max_length=64)
    ???

我在哪里放置关系和字段“日期”? 谢谢!

1 个答案:

答案 0 :(得分:0)

如果您要创建精确描述所描述实体的模型,则可以简单地创建一个类似于以下内容的附加模型:

class UserCertification(models.Model):
    user = models.ForeignKey('User', on_delete=models.CASCADE)
    english_certification = models.ForeignKey('EnglishCertification', on_delete=models.CASCADE)
    date = models.DateField()

当然,您将需要根据需要修改上面的代码。有关更多信息,请查看:

https://docs.djangoproject.com/en/2.1/topics/db/examples/many_to_one/

希望这会有所帮助