Django将字符串转换为表单

时间:2018-05-13 14:19:54

标签: django

我试图编写一个简单的可重用Django应用程序,该应用程序链接到用户模型,但由于可以替换它,我需要将其链接到AUTH_USER_MODEL

这在models中很好,但我有一个基于User的表单集,所以我需要一个表单,我试图填充如下:

from django.forms import ModelForm
from django.forms.models import inlineformset_factory

from optin.models import UserOptin
from django.conf import settings
#from django.contrib.auth.models import User
USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', None) or \
             'auth.User'

class UserForm(ModelForm):
    class Meta:
        model = USER_MODEL
        fields = '__all__'


class UserOptinForm(ModelForm):
    class Meta:
        model = UserOptin
        fields = '__all__'

UserOptinFormSet = inlineformset_factory(USER_MODEL, UserOptin,
form=UserOptinForm, extra=0)

这会产生错误:

  

AttributeError:' unicode'对象没有属性' _meta'

这是因为USER_MODEL是一个字符串。如何将其转换为实际的model

0 个答案:

没有答案