Wut*_*Wut 4 python django django-rest-framework
我有两个班级person和test,其中一个人可以进行多次测试。我试过序列化这个,但每次我尝试使用
person= Person.objects.create(title="mr",name="name",address="address",city="city")
Run Code Online (Sandbox Code Playgroud)
它抛出错误
IntegrityError: NOT NULL constraint failed: appname_person.tests_id
models.py
class Test(models.Model):
date = models.DateTimeField(auto_now_add=True)
test_name = models.CharField(max_length=200,default='',blank=False)
test_subject = models.CharField(max_length=100,default='')
test_type = models.CharField(max_length=100,default='')
def __str__(self):
return self.test_name
class Person(models.Model):
tests = models.ForeignKey(Test)
title = models.CharField(max_length=3,default="mr",blank=False)
name = models.CharField(max_length=50,default='',blank=False)
address = models.CharField(max_length=200,default='',blank=False)
city = models.CharField(max_length=100,default='',blank=False)
def __str__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
serializers.py
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = Test
fields = ('test_name','test_subject','test_type')
class PersonSerializer(serializers.ModelSerializer):
tests = TestSerializer(many=True, read_only=True)
class Meta:
model = Person
fields = ('id', 'title', 'name', 'address', 'city')
Run Code Online (Sandbox Code Playgroud)
好的,首先,反过来说,测试应该有一个指向用户模型的外键。
class Person(models.Model):
title = models.CharField(max_length=3,default="mr",blank=False)
name = models.CharField(max_length=50,default='',blank=False)
address = models.CharField(max_length=200,default='',blank=False)
city = models.CharField(max_length=100,default='',blank=False)
def __str__(self):
return self.name
class Test(models.Model):
tests = models.ForeignKey(Person)
date = models.DateTimeField(auto_now_add=True)
test_name = models.CharField(max_length=200,default='',blank=False)
test_subject = models.CharField(max_length=100,default='')
test_type = models.CharField(max_length=100,default='')
def __str__(self):
return self.test_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5390 次 |
| 最近记录: |