我使用Django的REST框架和我的serialiazers.py
django.db.utils.IntegrityError:在列空值 - 但值不为空
class MeetingSerializer(serializers.ModelSerializer):
meeting_organiser = serializers.HiddenField(default=serializers.CurrentUserDefault())
class Meta:
model = Meeting
fields = '__all__'
我models.py
的Meeting
模式是这样的:
class Meeting(models.Model):
[some fields here...]
meeting_organiser = models.ForeignKey(User, default=1)
[more fields here...]
然而,当我尝试做一个save()
到Meeting
模型我得到这个错误:
django.db.utils.IntegrityError: null value in column "meeting_organiser" violates not-null constraint
我试图调试,并在serializers.py
补充说:
def save(self):
print(self.validated_data)
和models.py
:
def save(self, *args, **kwargs):
print(self.meeting_organiser.username)
在这两种情况下,会议组织者的目的不为空,它包含正确的价值观。
在什么地方'User'在'Meeting'使用来自哪里? – Linovia
@Linovia,道歉!我没有在我的问题中加入这个。它来自标准的django用户模型,并导入如:''from django.contrib.auth.models import User''。 – Galil
只是一个想法,尝试在外键中设置'null = True'。 – bhansa