cro*_*jer 4 django django-models foreign-key-relationship
我打算创建一个团队系统,每个团队可能包含多个参赛者.参赛者实际上是auth.User.类似的东西:
Team:
Contestant1
Contestant2
.
.
ContestantN
Run Code Online (Sandbox Code Playgroud)
由于参赛者实际上是一个我无法修改的用户,因此可以让团队成为外国人.实现这一目标的最佳方法是什么?
我的方式是:
OneToOne为用户创建指向团队的配置文件.ManyToMany用户必须是唯一的用户和团队之间的关系.我正在重新设计我的应用程序的结构,所以我将再次重新解释这个问题
感谢您的回复,我会考虑它们,看看它们中的一个是否合适.
你可以这样做:
class Team(models.Model):
contestants = models.ManyToManyField(User, through='Contestant')
class Contestant(models.Model):
team = models.ForeignKey(Team)
user = models.ForeignKey(User)
[here go Contestant data fields]
Run Code Online (Sandbox Code Playgroud)
这允许一个用户参加不同的团队,但如果您不想允许这样,您可以向Contestant.user添加unique = True.
| 归档时间: |
|
| 查看次数: |
6034 次 |
| 最近记录: |