【发布时间】:2021-02-07 07:52:29
【问题描述】:
我相信这个错误来自我可能写错的这一行。任何人都可以分享为什么在views.py中写错了?我知道我必须指定此字段,因为它是模型类别的外键:
message.category_id = self.categories.id
views.py
class AddMessageView(DetailView, FormView):
model = Room
form_class = MessageForm
template_name = 'add_message.html'
def get_object(self, queryset=None):
return get_object_or_404(Room, type1__slug=self.kwargs['type1_slug'],slug=self.kwargs['room_slug'])
def form_valid(self, form):
message = form.save(commit=False)
message.category_id = self.categories.id
message.name = self.request.user
message.room = self.get_object()
message.save()
models.py
class Category(models.Model):
categories = models.CharField(max_length=80, null=False, blank=False, unique=True)
slug = models.SlugField(blank=True, unique=True)
class Room(models.Model):
categorical = models.ForeignKey(Category, related_name='categorical', on_delete=models.CASCADE)
slug = models.SlugField(blank=True)
class Message(models.Model):
category = models.ForeignKey(Category, related_name='category', on_delete=models.CASCADE)
room = models.ForeignKey(Room, related_name='messages', on_delete=models.CASCADE)
name = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='naming', on_delete=models.CASCADE)
【问题讨论】:
标签: django django-models django-views django-forms django-templates