[英]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.