Django - 插入相关实例
Posted
技术标签:
【中文标题】Django - 插入相关实例【英文标题】:Django - Inserting related instance 【发布时间】:2014-01-04 23:49:08 【问题描述】:我正在尝试更改模型自动保存和添加字段的方式。有问题的字段是外键。
代码如下:
def save(self, *args, **kwargs):
season = Season.objects.order_by('start')[0]
self.season = season
但它并没有添加任何东西......
它说成功,但它没有添加....
编辑: 完整代码:
class Team(models.Model):
GENDER_CHOICES = (
('F', 'Féminin'),
('M', 'Masculin'),
)
name = models.CharField(max_length=25,verbose_name="nom")
slug = AutoSlugField(unique=True,populate_from='name')
season = models.ForeignKey(Season,verbose_name="saison",editable=False)
association = models.ForeignKey(Association,verbose_name="association")
category = models.ForeignKey(Category,verbose_name="catégorie")
division = models.ForeignKey(Division,verbose_name="division")
gender = models.CharField(max_length=1,choices=GENDER_CHOICES,verbose_name="sexe")
class Meta:
verbose_name = 'Équipe'
verbose_name_plural = 'Équipes'
def __str__(self): # Python 3: def __str__(self):
return self.name
def save(self, *args, **kwargs):
season = Season.objects.order_by('start')[0]
self.season = season
super(self,Team).save(*args,**kwargs)
谢谢, 阿拉
【问题讨论】:
【参考方案1】:在“save”方法结束时,您必须调用超类“save”:
def save(self, *args, **kwargs):
season = Season.objects.order_by('start')[0]
self.season = season
super(MyModelName,self).save(*args,**kwargs)
【讨论】:
嗨,我明白了:必须是类型,而不是团队。我将编辑第一篇文章以显示整个模型。 我已经交换了super的两个参数。查看更正后的代码。以上是关于Django - 插入相关实例的主要内容,如果未能解决你的问题,请参考以下文章
如何转储 django-cms 相关内容以便与正在运行的实例一起迁移?