用户专用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

由于用户模型是其外键,因此无需在注释模型中添加图像字段或用户名字段。

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

最新更新