如何创建包含所需OrderUser
模型子字段的User
模型:
我想避免从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会导致许多不必要的字段,如username,is_staff,is_active等。
答案 0 :(得分:0)
好的,我的不好,我终于找到了自己问题的答案,也许对其他人有帮助。
_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
的更多讨论: