【问题标题】:Relationships among these models in DjangoDjango中这些模型之间的关系
【发布时间】:2016-08-27 15:59:06
【问题描述】:

我想建立一个网站:

  • 有一套 10 张卡片
  • 在每张卡片上,都有重要/不重要/未知属性
  • 每个用户选择重要和不重要的卡片(从同一组 10 张卡片中)
  • 他的选择已保存并与他的帐户相关联。

我想出了这样的模型:

  1. 用户:我用django.contrib.auth.models.User
  2. 卡片:

    class Card(models.Model):
        is_important = models.NullBooleanField(default=None)
    
  3. 卡组:

    class CardSet(models.Model):
    
        cards = models.ManyToManyField(Card)
    
        user = models.ForeignKey(User,related_name='card_set')
    

对我来说很明显这个数据库关系有问题,因为我不知道如何检索用户实例决定重要/不重要/未知的卡片列表。但是,我不知道如何将它们置于正确的关系中。

【问题讨论】:

标签: python django database


【解决方案1】:

我想我已经找到了我的问题的解决方案: 模型是这样的:

class Card(models.Model):
    card_number = models.IntegerField(unique=True)
    content = models.TextField(null=False)

class Choice(models.Model):
    user = models.ForeignKey(User)
    card = models.ForeignKey(Card)
    is_important = models.NullBooleanField(default=None)

    class Meta:
        unique_together = ('user','card')

答案的关键是使用 unique_together 元选项。

请查看我的解决方案,如果您有更好的解决方案或任何替代解决方案,请随时提出建议。我可以从你那里学到很多东西。

谢谢!

【讨论】:

    猜你喜欢
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    相关资源
    最近更新 更多