【发布时间】:2020-08-25 14:11:55
【问题描述】:
当我将日期发送到我的 api 时,它会引发以下错误
IntegrityError at /api/add/
NOT NULL constraint failed: api_userinfo.user_id
urls.py
path('add/',views.UserAdditionalView.as_view())
models.py
class User(AbstractUser):
# username = None
email = models.EmailField(verbose_name='email',max_length=50,unique=True)
#phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$')
#phone = PhoneNumberField(unique=True,blank=False,null=False)
phone = models.CharField(max_length=17,blank=True)
REQUIRED_FIELDS = [
'first_name',
'last_name',
'phone',
'username',
]
USERNAME_FIELD = 'email'
def get_username(self):
return self.email
class UserInfo(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
address = models.CharField(max_length=50)
zipcode = models.CharField(max_length=20)
def __str__(self):
return str(self.user)
我的看法是 views.py
class UserAdditionalView(generics.ListCreateAPIView):
queryset = UserInfo.objects.all()
serializer_class = UserAdditionalSerializers
serializers.py
class UserCreateSerializer(UserCreateSerializer):
class Meta(UserCreateSerializer.Meta,):
model = User
fields = (
'id',
'email',
'username',
'password',
'first_name',
'last_name',
'phone',
)
class UserAdditionalSerializers(serializers.ModelSerializer):
user = UserCreateSerializer(read_only=True)
class Meta:
model = UserInfo
fields = (
'user',
'address',
'zipcode',
)
我正在尝试通过 api 向数据库添加更多用户信息。我使用 djoser 来注册用户。每当我尝试通过邮递员添加用户时,它都会抛出 IntegrityError 。我找不到解决办法
【问题讨论】:
标签: django django-models django-rest-framework