DJangoと一緒に仕事をするのはこれが初めてです。モデルがどのように見えるべきかについて少し混乱しています。
ユースケースは次のとおりです。
- 商品あります。
- タグあります。
- ユーザーがいます。
商品とタグの間には多対多の関係があります。ユーザーとタグの間には多対多の関係があります。
現在、2 つのアプリを作成しています。
- 現在、製品とタグは 1 つのアプリに属しています: 製品
- 別のアプリは usrprofile です。そして、ユーザー プロファイルにタグを追加する必要があります。
タグはどこに置くべきですか? そして、タグは製品とユーザーの両方を参照しますか?
コード:
アプリ: 製品
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)