Django字段名称长度/约定

时间:2014-05-06 03:50:07

标签: django django-models

我不确定这是一个错误,是设计还是我做错了。我在1.6.2和1.6.4上遇到过这个问题

我的模型中有一些字段,如:

  

my_custom_field = models.CharField()

在我的forms.py中,我有:

  

def clean_my_custom_field():

它没有被调用。在字段名称中有多个下划线似乎有问题。我有几个在名称中有2或3个下划线。我已经改变一个使用单个下划线并且它有效。

我已经开始考虑缩短名称,但是想知道是否有人遇到过这个问题并且有一个解决方法。保留描述性名称会很好。

或者它实际上是一个错误?

更新:

表单设置相当基本。需要注意的一点是,长字段名称似乎在Admin中有效,但不在前端形式。

class MyBaseForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = "__all__"

    def clean_active_listing_expiry_date(self):
        print "You are HERE!"
        "Do something else here"

更新:

class MyModel(models.Model):
    ... other fields listed before and after of course.
    active_listing_expiry_date = models.DateTimeField(
        verbose_name='Active Expiry Date',
        help_text="Date format: YYYY-MM-DD",
        blank=True,
        null=True
    )

更新:

views.py

def residential_add(request, ptype='Residential', template_name='properties/add_residential.html'):
    if request.method == 'POST':
        property_form = ResidentialPropertyForm(request.POST)

        if property_form.is_valid():
            print "*" * 60
            print "FORM IS VALID"

    else:
        property_form = ResidentialPropertyForm()

    return render_to_response(
        template_name,
        {
            'property': property_form,
        },
        context_instance=RequestContext(request)
    )

1 个答案:

答案 0 :(得分:0)

不幸的是,我无法按照@schillingt的建议在全新安装上重现问题所以我决定从头开始创建表单,查看和验证代码。不确定第一次错过了什么,但此时此问题似乎已得到解决。

感谢那些提供帮助的人。