我需要帮助在Django中定义模型。我需要的是:
在关系方面:
所以我认为从球队到球员应该有一对多的关系。我想在Django的管理方面拥有的是:
1)创建/编辑玩家时:选择团队的下拉列表
2)并且在创建/编辑团队时,能够从现有列表创建玩家列表(例如,从下拉列表中“添加”)。
虽然1)在为玩家的模型中的团队添加ForeignKey时是自动的,但我不知道如何实现2)。
说我的模特是:
class Team(models.Model):
team_name = models.CharField(max_length=100)
def __str__(self):
return self.team_name
class Player(models.Model):
player_name = models.CharField(max_length=100)
def __str__(self):
return self.player_name
答案 0 :(得分:1)
最简单的解决方案是添加另一个表格来编写团队成员信息。
对于编辑,我的猜测是你正在寻找像InlineModelAdmin
这样的东西models.py
from django.db import models
class Team(models.Model):
team_name = models.CharField(max_length=100)
def __str__(self):
return self.team_name
class Player(models.Model):
player_name = models.CharField(max_length=100)
def __str__(self):
return self.player_name
class TeamPlayer(models.Model):
player = models.ForeignKey(Player)
team = models.ForeignKey(Team)
def __str__(self):
return self.player.player_name
admin.py
class TeamPlayerAdminInline(admin.TabularInlin):
model = TeamPlayer
@admin.register(Team)
class TeamAdmin(admin.ModelAdmin):
list_display = ['team_name']
inlines = [TeamPlayerAdminInline]
@admin.register(Player)
class PlayerAdmin(admin.ModelAdmin);
list_display = ['player_name']
inlines = [TeamPlayerAdminInline]