我希望你很好。我从 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.titlemodels.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
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
无需在评论模型中添加图像字段或用户名字段,因为用户模型是其外键。
你可以像这样使用 Comments = Comment.objects.values('post' , 'user__name', 'user__image')
添加回答
举报
0/150
提交
取消