Как получить доступ к экземпляру-члену внешнего ключа в django?

  1. articles/models.py

     class Article(models.Model):
         user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    
  2. user/models.py

     class User(AbstractUser):
        username = models.CharField(max_length=20)
        email = models.EmailField(_('email address'), unique=True)
        profile_image_url = models.TextField()
    

Есть ли другой способ включить или получить доступ к экземпляру члена пользователя (имя пользователя, email, profile_image_url) в класс Article???

Я хотел бы сделать класс Статья в этом

 class Article(models.Model):
     User.username
     User.email
     User.profile_image_url

FYI, мой Serializer следующий

 class ArticleSerializer(serializers.ModelSerializer):
    class Meta:
          model = Article
          fields = ['emotion', 'location', 'menu', 'weather', 'song', 'point', 'content', 'image', 'user', 'created', 'liked', 'num_liked']


 class UsersSerializer(serializers.ModelSerializer):
      class Meta:
          model = User
          fields = ('id', 'username', 'date_joined', 'email', 'profile_image_url', 
          'followings', 'followers')

Есть ли другой способ заставить мой ArticleSerializer включать поля UserSerializer? или Есть ли другой способ включить или получить доступ к экземпляру члена пользователя (имя пользователя, email, profile_image_url) в класс Article?

Вы можете попробовать следующее:

class ArticleSerializer(serializers.ModelSerializer):
    email = serializers.CharField(source='user.email', allow_null=True)
    # And so on

    class Meta:
        model = Article
        fields = ('id', 'user', 'email')
Вернуться на верх