![](/img/trans.png)
[英]Comment model only for user django (1048, “Column 'user_id' cannot be null” or no user filled)
[英]Comment model for User only 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
評論model不需要添加圖片字段和用戶名字段,因為用戶model是它的外鍵。
你可以像這樣使用 Comments = Comment.objects.values('post', 'user__name', 'user__image')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.