猿问

仅限用户 Django 的评论模型

我希望你很好。我从 Django 开始。我只想为用户创建评论。我之前创建了一个 UserProfile 页面(每个成员都有图像)。


对于我的评论模型。我是否需要为与 UserProfile 相关的图像添加字段?还是 User 就足够了?如果用户评论我想显示他的用户名和他的图像。


class Comment(models.Model):

    post = models.ForeignKey(Post,on_delete=models.CASCADE,related_name="comments")

    user = models.ForeignKey(User)

    content = models.TextField(max_length=160)

    publishing_date = models.DateField(auto_now_add=True)

     

    def __str__(self):

        return self.post.title

models.py(用户配置文件)


class UserProfile(models.Model):

    user = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete=models.CASCADE)

    image = models.ImageField(null=True,blank=True,default='user/user-128.png', upload_to='user/')

    slug = models.SlugField(editable=False)

    

    def save(self, *args,**kwargs):

        self.slug = slugify(self.user.username)

        super(UserProfile, self).save(*args, **kwargs)

        

        img = Image.open(self.image.path)

        if img.height > 200 or img.width > 200:

            new_size = (200, 200)

            img.thumbnail(new_size)

            img.save(self.image.path)

            

    def __str__(self):

        return self.user.username


一只甜甜圈
浏览 91回答 1
1回答

精慕HU

无需在评论模型中添加图像字段或用户名字段,因为用户模型是其外键。你可以像这样使用 Comments = Comment.objects.values('post' , 'user__name', 'user__image')
随时随地看视频慕课网APP

相关分类

Python
我要回答