我已经扩展了django-taggit bad_names_df
模型,以将TagBase
字段作为added_by
的外键:
User
一切正常,但是我在CreateView中填充该字段时遇到问题。这是我尝试过的:
class TagBase(models.Model):
name = models.CharField(verbose_name=_("Name"), unique=True, max_length=100)
slug = models.SlugField(verbose_name=_("Slug"), unique=True, max_length=100)
added_by = models.ForeignKey(User, on_delete=models.CASCADE)
但我遇到错误:
class NoteCreateView(LoginRequiredMixin, CreateView):
model = Note
fields = [
'title',
'description',
'notebook',
'tags'
]
def form_valid(self, form):
form.instance.added_by = self.request.user
form.instance.save()
for tag in form.instance.tags.all():
tag.added_by = self.request.user
return super().form_valid(form)
如何正确在标签实例上自动填充IntegrityError at /notes/1/create/ NOT NULL constraint failed: taggit_tag.added_by_id
字段?
答案 0 :(得分:0)
用户是匿名用户吗?我认为您可以打印 self.request.user 进行检查。