Django クラス内の変数を共有?したいです
現在、DjangoでSNS風のサイトを作っています。
python
1models.py 2 3class Post(models.Model): 4 post_user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) 5 title = models.CharField(verbose_name='タイトル',max_length=200,) 6 created_at = models.DateTimeField(verbose_name='登録日',auto_now_add=True) 7 image = StdImageField('画像', help_text='画像の推奨サイズ600×400', blank=True, null=True) 8 liked = models.ManyToManyField(User, blank=True, related_name='likes') 9 10class User(AbstractBaseUser, PermissionsMixin): 11 email = models.EmailField(_('email address'), null=True) 12 user_name = models.CharField(_('ユーザーネーム'), max_length=30,unique=True) 13 facebook = models.CharField('facebookアカウント名', help_text='idを入力してください', max_length=1000, blank=True,) 14 instgram = models.CharField('instgramアカウント名', help_text='ユーザーネームを入力ください', max_length=1000, blank=True,) 15 twitter = models.CharField('twitterアカウント名', help_text='@は付けずに入力してください', max_length=1000, blank=True,) 16 icon = StdImageField('アイコン', help_text='', blank=True, null=True) 17 favorite = models.ManyToManyField(Item, verbose_name='保存した記事', blank=True) 18 19 is_staff = models.BooleanField( 20 _('staff status'), 21 default=False, 22 help_text=_( 23 'Designates whether the user can log into this admin site.'), 24 ) 25 is_active = models.BooleanField( 26 _('active'), 27 default=True, 28 help_text=_( 29 'Designates whether this user should be treated as active. ' 30 'Unselect this instead of deleting accounts.' 31 ), 32 ) 33 date_joined = models.DateTimeField(_('date joined'), default=timezone.now) 34 35 objects = CustomUserManager() 36 37 EMAIL_FIELD = 'email' 38 USERNAME_FIELD = 'user_name' 39 REQUIRED_FIELDS = [] 40 41 class Meta: 42 verbose_name = _('user') 43 verbose_name_plural = _('users') 44 45 def get_user_name(self): 46 """Return the short name for the user.""" 47 return self.user_name 48 49 def email_user(self, subject, message, from_email=None, **kwargs): 50 """Send an email to this user.""" 51 send_mail(subject, message, from_email, [self.email], **kwargs) 52 53 @property 54 def username(self): 55 return self.email 56
お互いのクラスにManyToManyField
を使用したいです、
勿論ですが、liked=
の方にはNameError: name 'User' is not defined
と出ます。
そもそもManyToManyFieldは二つのクラスで使用するものではないのでしょうか?
調べ方が分からず初歩的な質問でしたら申し訳ありません。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/07 02:46