擅长:python、mysql、java
<p>您可以获得上面的<code>Meta</code>字段,并扩展列表等:</p>
<pre><code>class UpgradedEvent<b>Form</b>(Event<b>Form</b>):
def __init__(self, *args, **kwargs):
super(UpgradedEvent<b>Form</b>,self).__init__(*args,**kwargs)
<b># some extra settings
# ...</b>
# for example
self.fields['extra_field'].initial = 'initial value of extra field'
class Meta(Event<b>Form</b>.Meta):
model = UpgradedEvent
<b>exclude = Event<b>Form</b>.Meta.exclude + ['extra_exclude1', 'extra_exclude2']</b>
<b>fields = Event<b>Form</b>.Meta.fields + ['extra_field']</b></code></pre>
<p>因此,通过使用继承,我们可以通过在<code>super(UpgradedEventForm, self)</code>调用之后执行一些额外的操作,向<code>__init__</code>函数添加额外的过程,wwe可以访问父级的属性,并扩展这些属性。在</p>
<p>注意,最好用<code>Form</code>后缀命名表单,因为现在模型与表单冲突。因此,您的<code>Form</code>似乎有一个对<code>Form</code>本身的引用作为模型。通过使用正确的“<em>命名法</em>”,可以避免很多错误。在</p>