我的目标是遍历所有表单字段并将这些类分配给它们:
class ContactForm(forms.Form):
def __init__(self, *args, **kwargs):
super(ContactForm, self).__init__(*args, **kwargs)
for field_name, field in self.fields.items():
field.widget.attrs['class'] = 'form-control input-sm plain'
if field.required == True:
field.widget.attrs['required'] = ''
class Meta:
model = Contact
fields = '__all__'
此代码的问题是self.fields.items()
似乎是空的(因此我从未进入for循环)。
我的猜测是问题出现的原因是我从Django 1.9和python 2升级到Django 1.10和python 3,或者因为底层模型的定义中存在自定义管理器。
有人可以分享这方面的专业知识吗?
class Contact(BaseMixin, DeleteMixin):
provider_account = models.ForeignKey(ProviderAccount, models.DO_NOTHING)
client_id = models.IntegerField()
name = models.CharField(max_length=300)
profile_photo_url = models.CharField(max_length=100, default = 'no_image.jpg')
event_type_id = models.IntegerField(EventType.choices(), blank=True, null=True)
is_satisfied = models.NullBooleanField()
objects = CustomQuerySetManager()
class Meta:
managed = False
db_table = 'contact'
class QuerySet(QuerySet):
#....
答案 0 :(得分:1)
您的表单是标准表单,而不是模型表单; Meta类被忽略,唯一的字段是你自己定义的字段。
您的表单应该继承自library(dplyr)
x %>%
group_by(grp = as.integer(gl(nrow(x), 4, nrow(x)))) %>%
mutate(b = mean(a)) %>%
ungroup() %>%
select(-grp)
,以实现此目的。