Hel*_*mut 2 django django-models django-forms django-admin
我有这样的模型,如下所示:
class Meeting(models.Model):
date = models.DateTimeField(default=datetime.datetime.now)
team = models.CharField(max_length=100)
class Meta:
verbose_name_plural = u'Meetings'
ordering = ['-date', 'team']
def __unicode__(self):
return u'%s %s' % (self.date, self.team)
class Entry(models.Model):
meeting = models.ForeignKey(Meeting, blank=True)
meeting_date = models.DateField(null=True)
description = models.TextField()
class Meta:
verbose_name_plural = u'Entries'
def __unicode__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
我有一个表单,我正在控制输入
class MyEntryAdminForm(forms.ModelForm):
class Meta:
model = Entry
Run Code Online (Sandbox Code Playgroud)
我正在获取会议字段的数据
meeting = forms.ModelChoiceField(queryset=Meeting.objects.all(), empty_label=None)
Run Code Online (Sandbox Code Playgroud)
我想提取会议字段的日期部分(我能够管理它).此日期部分应该是meeting_date字段的输入.meeting_date字段在表单中没有输入字段,应自动填充.我不知道如何将这个日期提取到session_date字段以及如何存储它
def清洁的尝试(自我)
cleaned_data['meeting_date'] = date_extract_from_meeting
Run Code Online (Sandbox Code Playgroud)
不起作用
任何帮助都非常感谢
可能有一种方法来覆盖表单save()方法并将日期放在该步骤,但我找不到任何这样做的例子.
我知道可以肯定的方法是将commit = False传递给form.save(这样实际的数据库插入还没有发生):
instance = form.save(commit=False)
Run Code Online (Sandbox Code Playgroud)
然后,您可以设置会议日期并保存对象:
instance.meeting_date = instance.meeting.date
instance.save()
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.