首先,我必须承认我对所有这些编码的东西都很陌生,但是因为我自己找不到合适的解决方案,所以学习编码可能是最好的方法。
无论如何,我正在尝试构建一个应用程序来展示不同的冠军、冠军和类似的东西。在阅读了 Django 文档后,我发现我必须使用中间模型作为更好的方法。我的旧 models.py 看起来像这样:
class Person(models.Model):
first_name = models.CharField(max_length=64)
last_name = models.CharField(max_length=64)
[...]
class Team(models.Model):
name = models.CharField(max_length=64)
team_member_one = models.ForeignKey(Person)
team_member_two = models.ForeignKey(Person)
class Championship(models.Model):
name = models.CharField(max_length=128)
status = models.BooleanField(default=True)
class Titleholder(models.Model):
championship = models.ForeignKey(Championship)
date_won = models.DateField(null=True,blank=True)
date_lost = models.DateField(null=True,blank=True)
titleholder_one = models.ForeignKey(Person,related_name='titleholder_one',null=True,blank=True)
titleholder_two = models.ForeignKey(Person,related_name='titleholder_two',null=True,blank=True)
个人或团队都可以赢得冠军,这取决于是单打冠军还是团体冠军,这就是为什么我必须在 Titleholder 类中使用外键。查看Django 文档,这似乎是错误的。另一方面,对于作为初学者的我来说,示例中的中间模型似乎不适合我的模型。
长话短说:谁能指出我如何以正确的方式构建模型的正确方向?注意:这只是一个关于如何构建模型并在 Django 管理中显示它的问题,我什至现在还没有谈论构建模板。
帮助将不胜感激!提前谢谢各位。