我有一个默认值作为模型字段之一的可调用。我正在使用 ModelForm 来输出它。从我理解的文档中,只有在创建新对象时才调用可调用对象。
我不明白为什么我会为使用默认可调用文件指定的字段获取隐藏字段。我得到以下输出,
>>> form = SomeForm()
>>> print form['eventID']
<input id="id_eventID" maxlength="255" name="eventID" type="text" value="event_2c6b2259" /><input id="initial-id_eventID" name="initial-eventID" type="hidden" value="event_cee183d7" />
并且每次我打印上面的语句时,它都会给我一个不同的 eventID 值,(我有一个随机可调用的默认值..)但是据我了解,当表单的实例时,可调用应该只调用一次已经被创造了。不是吗?
更新: forms.py
class EventForm(forms.ModelForm):
class Meta:
model = EiEventType
模型.py
class Event(models.Model):
eventID = models.CharField(null=True,blank=True,default=random_eventID)
start = models.DateTimeField(null=True, default=two_min_from_now)
signal = models.ManyToManyField(Signal,null=True)
...
...
...
随机函数定义如下,
def random_eventID()
return "event_" + str(uuid.uuid4())[:5]
def two_min_from_now()
return datetime.datetime.now() + timedelta(minutes=2)