如何解决如何改进具有多个外键的模型的测试 (Django)
我的测试套件有一个 MVP,但我目前的风格将是一个需要保持的野兽。我在为具有两个外键的模型高效编写测试时遇到了麻烦。
我在下面包含了我的 model.py 文件和我的 test.py 文件:
models.py
class Category(models.Model):
name = models.CharField(max_length=100)
class Product(models.Model):
name = models.CharField(max_length=100)
class ProductCategoryValue(models.Model):
value = models.CharField(max_length=100)
category = models.ForeignKey(Category,on_delete=models.CASCADE,related_name="categories")
product = models.ForeignKey(Product,related_name="products")
class Meta:
unique_together = [['category','product']]
(这个模型结构背后的想法是可以有一个产品列表和一个类别列表,用 ProductCategoryValue 作为两个列表之间的粘合剂。类别列表可能会在项目后期发生变化,我想轻松地修改与该类别相关的每个产品文本的值。我也愿意接受改进此模型结构的建议!)
test.py
#...
def setUp(self):
p = Product(name="Touchscreen")
p.save()
Product.objects.create(name="Dancer")
c = Category(name="Use Case",selection_type="bullets")
c.save()
Category.objects.create(name="Video Conferencincg",selection_type="text")
Category.objects.create(name="Multisite",selection_type="Boolean")
ProductCategoryValue.objects.create(value="foobar",product=p,category=c)
这是为具有多个外键的模型编写测试的规范方式吗?我希望有一种更有效的方法,使我的测试数据库更加健壮。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。