1

OrderUser必要なモデルのサブフィールドを含むモデルを作成するにはどうすればよいですかUser

  • ファーストネーム
  • 苗字
  • Eメール

django.contrib.auth.modelsAbstractUserのようなフィールドの構造を手動でコピーすることは避けたい

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

通常、2つのモデルに同じフィールドを持たせたい場合は、抽象モデルの継承を使用します。ただし、AbstractUserから継承すると、username、is_staff、is_activeなどの多くの不要なフィールドが発生します。

4

1 に答える 1

1

わかりました、私の悪い、私はついに自分の質問に対する答えを見つけました、多分それは他の誰かのために役立つでしょう。

_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

于 2013-03-23T21:33:20.257 に答える