Модель формы Django исключить поле все еще отображается - PullRequest
2 голосов
/ 10 февраля 2012

django 1.3:

У меня есть исключенное поле в ModelForm, и оно все еще отображается при построении формы с помощью методов .as_table (), as_p () и т. Д.

Я пыталсякак в файле шаблона, так и в оболочке, поле 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',), поэтому я знаю, что синтаксис правильный.

Есть мысли?

1 Ответ

0 голосов
/ 10 февраля 2012

Я вполне уверен, что происходит что-то еще, что не показано в вашем коде. Тем не менее, есть взлом для этого. Дайте вашей модели __init__, в которой вы удалите 'userid' из свойства fields формы (что является диктатом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...