【问题标题】:Comment model for User only Django仅用户 Django 的评论模型
【发布时间】:2020-07-29 17:11:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: python django


    【解决方案1】:

    评论模型中不需要添加图片字段或用户名字段,因为用户模型是它的外键。

    你可以这样使用 评论 = Comment.objects.values('post' , 'user__name', 'user__image')

    【讨论】:

    • 感谢您的回复@vikash :)
    猜你喜欢
    • 2018-10-28
    • 2020-11-22
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多