django modelform排除字段仍显示

django modelform排除字段仍显示,django,Django,django 1.3: 我的模型表单中有一个排除的字段,它在使用.as\u表、as\p方法等构建表单时仍然显示 我在模板文件和shell中都尝试过,exclude字段显示在exclude变量中,但它似乎没有影响 型号: class UserTrans(models.Model): usertransid = models.AutoField(primary_key=True) userid = models.ForeignKey(User, db_column='userid')

django 1.3:

我的模型表单中有一个排除的字段,它在使用.as\u表、as\p方法等构建表单时仍然显示

我在模板文件和shell中都尝试过,exclude字段显示在exclude变量中,但它似乎没有影响

型号:

class UserTrans(models.Model):
    usertransid = models.AutoField(primary_key=True)
    userid = models.ForeignKey(User, db_column='userid')
    transdate = models.DateField(verbose_name="Date")
    data = models.DecimalField(max_digits=15, decimal_places=2)
    class Meta:
        db_table = u'usertrans'


class TransForm(ModelForm):
    class Meta:
        model=UserTrans
        exclude = ('userid',)
当我打开外壳并尝试以下操作时:

x=TransForm()
x.as_table()
或者在模板中

{{ form.as_table }} or 
{{ form.as_p }}
它显示userid字段以及其他字段。 如果我尝试x.exclude,它会显示“userid”,因此我知道语法是正确的


有什么想法吗?

我很确定代码中没有显示其他一些东西。然而,有一个黑客为此。给你的模型表单一个_uinit _uu,在其中你从表单的字段属性中删除了“userid”,这是一个dict。

我敢肯定还有一些事情没有在你的代码中显示出来。然而,有一个黑客为此。为您的模型表单提供一个_uinit _;,在其中您从表单的字段属性(这是一个dict)中删除了“userid”。

是否尝试排除另一个字段,如数据?这样行吗?您是否尝试排除另一个字段,如数据?这行得通吗?我还没弄明白,但当我在外壳中分别运行每个部件时,它确实行得通。但当我们一起跑的时候,就不会了。所以它一定是我的代码中的某个东西。@user1201972:你试过我的建议了吗?没有。我现在正在学习django,不想对文档中描述的应该有效的东西使用变通方法。此时,我更愿意找出代码中的错误在哪里。@user1201972:祝你好运。Django的模型有时会表现出奇怪的行为,你必须解决它。我还没有弄明白,但当我在壳中分别运行每个部分时,它确实工作了。但当我们一起跑的时候,就不会了。所以它一定是我的代码中的某个东西。@user1201972:你试过我的建议了吗?没有。我现在正在学习django,不想对文档中描述的应该有效的东西使用变通方法。此时,我更愿意找出代码中的错误在哪里。@user1201972:祝你好运。Django的模型有时会抛出奇怪的行为,您必须解决它。