我试图从shell填充模型,并且试图填充输入信息(ForeignKey),以使其能够访问另一个类。 那是我在pycharm中的代码:
.center{
position: fixed;
left: 50%; /*move the top left point of block to the center*/
transform: translate(-50%,0%);
margin-top:60px;
}
这是结果:
class Team(models.Model):
name = models.CharField(max_length=256, unique=True)
details = models.TextField()
def __str__(self):
return self.name
class Player(models.Model):
name = models.CharField(max_length=256)
number = models.IntegerField()
age = models.IntegerField()
position_in_field = models.CharField(max_length=256, choices=(('1', 'حارس'), ('2', 'دفاع'), ('3', 'وسط'), ('4', 'هجوم')))
is_captain = models.BooleanField(default=False)
team = models.ForeignKey(Team)
def __str__(self):
return '{} - {}'.format(self.name, self.team)
答案 0 :(得分:0)
使用外键创建记录时,必须通过其主键在参考模型中指示记录。
对于模型 Team ,您没有明确设置主键,因此 Django 设置了默认字段 mode_id ,是自动递增的PositiveIntegerField
,这是您必须在引用记录中指出的内容。
Player.objects.create(name='محمد إبراهيم', number='25', age='27', position_in_field='هجوم', is_captain=False, team_id=1)
如果引用的团队中有模型对象,也可以使用它:
Player.objects.create(name='محمد إبراهيم', number='25', age='27', position_in_field='هجوم', is_captain=False, team=team_instance)