如何创建一个包含用户模型领域的子集模型在Django
问题描述:
我如何可以创建所需User
模型OrderUser
包含模型子字段:如何创建一个包含用户模型领域的子集模型在Django
- FIRST_NAME
- 姓氏
- 电子邮件
我想避免从django.contrib.auth.models手动复制字段的结构AbstractUser像
class OrderUser(models.Model):
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
email = models.EmailField(_('email address'), blank=True)
我不知道是否有任何的方式来写是这样的:
class OrderUser(models.Model):
first_name = User.fields.first_name
last_name = User.fields.last_name
email = User.fields.email
通常情况下,如果我想两种型号具有相同的字段,我用抽象模型继承。 但是从AbstractUser继承导致许多不必要的字段,如用户名,is_staff,is_active等。
答
好的,我的坏,我终于找到了自己的问题的答案,也许这将有助于其他人。
的_meta
属性为我工作:
class OrderUser(models.Model):
first_name = User._meta.get_field_by_name('first_name')[0]
last_name = User._meta.get_field_by_name('last_name')[0]
email = User._meta.get_field_by_name('email')[0]
更多讨论有关_meta
: