Python Django模型自定义字段
我想用基本字段构建Django模型,并让用户能够从UI添加自定义字段。我想我可以添加JSON字段,因为我使用的是PostgreSQL,所以用户可以添加任意数量的自定义字段作为JSON保存Python Django模型自定义字段,python,django,django-models,Python,Django,Django Models,我想用基本字段构建Django模型,并让用户能够从UI添加自定义字段。我想我可以添加JSON字段,因为我使用的是PostgreSQL,所以用户可以添加任意数量的自定义字段作为JSON保存 我想问的是,上述方法是否正确?还是为自定义字段创建另一个表?如果有其他方法,请指导我。您可以使用自定义ui创建自己的小部件: class JSONWidget(forms.Textarea): class Media: js = ( 'admin/json-wid
我想问的是,上述方法是否正确?还是为自定义字段创建另一个表?如果有其他方法,请指导我。您可以使用自定义ui创建自己的小部件:
class JSONWidget(forms.Textarea):
class Media:
js = (
'admin/json-widget/json-widget.js',
)
def render(self, name, value, attrs=None):
if 'class' in attrs:
attrs['class'] += ' json-widget'
else:
attrs['class'] = 'json-widget'
final_attrs = self.build_attrs(attrs, name=name)
return mark_safe(u'<textarea%s>%s</textarea>' % (flatatt(final_attrs),
conditional_escape(force_unicode(value))))
class JSONField(models.TextField):
def formfield(self, **kwargs):
kwargs['widget'] = JSONSWidget()
return super(JSONField, self).formfield(**kwargs)
class SomeModel(model.Model):
jsonfield = JSONField()