这是我第一次与 DJango 合作。我对我的模型应该如何看起来有点困惑。
用例是:
- 有产品。
- 有标签。
- 有用户。
产品和标签之间存在多对多的关系。用户和标签之间存在多对多关系。
我现在已经创建了两个应用程序。
- 目前产品和标签属于一个应用程序:产品
- 另一个应用程序是 usrprofile。我需要在用户个人资料中添加标签。
Tag应该驻留在哪里?并且标签会参考产品和用户吗?
代码:
应用:产品
class Product(models.Model):
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)
name = models.CharField(max_length=300)
class Tag(models.Model):
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)
name = models.CharField(max_length=300)
display_name = models.CharField(max_length=300)
product = models.ManyToManyField(Product, through='ProductTag')
class ProductTag(models.Model):
product = models.ForeignKey(Product,null=False)
tag = models.ForeignKey(Tag,null=False)
APP:用户档案
class UserProfile(models.Model):
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)
email = models.CharField(max_length=300)