![](/img/trans.png)
[英]django.db.utils.IntegrityError: FOREIGN KEY constraint failed in django
[英]django.db.utils.IntegrityError: The row in table 'Event_event' with primary key '1' has an invalid foreign key:
我的事件 Model
class Event(models.Model):
name = models.CharField(max_length=100)
start_date = models.DateField()
end_date = models.DateField()
TIMEZONES = tuple(zip(pytz.all_timezones, pytz.all_timezones))
timezone = models.CharField(max_length=32, choices=TIMEZONES)
session=models.ForeignKey(Session,on_delete=models.CASCADE)
slug = models.SlugField(unique=True, editable=False, max_length=100)
和我的 session model
class Session(models.Model):
name=models.CharField(max_length=100)
start_date=models.DateField()
end_date=models.DateField()
speaker=models.CharField(max_length=100)
slug = models.SlugField(unique=True, editable=False, max_length=100)
创建测试时出现错误。 session部分应该怎么做? 这是我的测试代码
class CreateTest(APITestCase):
def test_create_event(self):
url = 'http://127.0.0.1:8000/api/event/create'
data = Event.objects.create(
name="deneme 5",
start_date="2020-05-23",
end_date="2020-05-26",
timezone="Etc/GMT",
session_id='1'
)
response = self.client.post(url,data)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
You get this error because, you haven't any Session
record which has id 1. You must create Session
object before create Event
object and provide this created session id to event object. 在 Django APITestCase
中,始终为所有测试函数创建新的空数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.