如何在Django中获取(访问)外键的成员实例?

发布于 2025-01-30 14:10:36 字数 1207 浏览 2 评论 0原文

  1. 文章/型号

     类文章(Models.Model):
         user = models.foreignkey(settings.auth_user_model,on_delete = models.cascade)
     
  2. user/models.py

     类用户(AbstractUser):
        用户名= models.charfield(max_length = 20)
        电子邮件= models.emailfield(_('电子邮件地址'),unique = true)
        profile_image_url = models.textfield()
     

是否有其他方法包括或访问用户的成员实例(用户名,电子邮件,profile_image_url)中的班级文章?

我想在此

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

FYI中撰写课堂文章,我的序列化器是这些

 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包括使用Usererialializer的字段? 或其他方法包括或访问用户的成员实例(用户名,电子邮件,profile_image_url)

  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()
    

Is there any other way to include or access user's member instance (username, email, profile_image_url) into class Article??

I'd like to make class Article into this

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

FYI,my Serializer are these

 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')

Is there any other way to make my ArticleSerializer to include UserSerializer's fields?
or Is there any other way to include or access user's member instance (username, email, profile_image_url) into class Article??

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

您可以尝试一下:

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

    class Meta:
        model = Article
        fields = ('id', 'user', 'email')

You could try this:

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

    class Meta:
        model = Article
        fields = ('id', 'user', 'email')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文