【发布时间】:2022-11-05 02:31:36
【问题描述】:
我已经为在 Django 中创建 api 编写了一个测试用例,但我收到了上述错误。我在数据库中看到它创建了一些对象并说错误中有重复的键值。
我的模型是:
class Example(models.Model):
package = models.ForeignKey(
Destination, related_name="packages", on_delete=models.CASCADE
)
user = models.ForeignKey(
User,
on_delete=models.CASCADE,
null=True,
related_name="user_packages",
)
tour = models.ForeignKey(
Tours,
on_delete=models.CASCADE,
null=True,
related_name="tour_packages",
)
我的测试用例如下:
import factory
# Define your factories
class PackageFactory(factory.django.DjangoModelFactory):
class Meta:
model = 'example.Destination'
class UserFactory(factory.django.DjangoModelFactory):
class Meta:
model = 'example.User'
class TourFactory(factory.django.DjangoModelFactory):
class Meta:
model = 'example.Tour'
class ExampleFactory(factory.django.DjangoModelFactory):
package = factory.SubFactory(PackageFactory)
user = factory.SubFactory(UserFactory)
tour = factory.TourFactory(TourFactory)
class Meta:
model = 'example.Example'
# And now, create a new example instance together with all related models.
example = ExampleFactory()
我清除了数据库并开始运行测试,但我得到了同样的错误。这个怎么解决??
【问题讨论】:
标签: django api django-rest-framework django-testing