- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我显然是个笨蛋,我会在一开始就承认这一点。我正在使用以下工厂
class DataSheetFactory(factory.DjangoModelFactory):
class Meta:
model = models.myModel
django_get_or_create = ('key_field',)
key_field = factory.Sequence(lambda n: n)
... <additional fields>
@factory.post_generation
def product_contributors(self, create, extracted, **kwargs):
if not create:
return
if extracted:
for person in extracted:
self.product_contributors.add(person)
当我用 PDS=DataSheetFactory(product_contributors= (<tuple of users>))
创建它时我期待该领域的用户列表 product_contributors
,但我得到一个 django.db.models.fields.related.ManyRelatedManager
相反,所以测试将不起作用。当我遵循“常用食谱”时,我应该做什么 here ?
澄清一下,我问的是如何使用 factory boy 在模型的多对多字段中创建用户列表。我尝试了文档中的建议,得到了 ManyRelatedManager
,不是列表,所以 factory_boy
生成不可用的实例。
最佳答案
如上所述,您的问题来自于我对 factory_boy 施加的魔法:@post_generation
中的 self
不是工厂实例,而是实际的实例刚刚生成的对象。
因此,product_contributors
确实是 Django 的“RelatedManager”的实例,您可以通过以下方式访问项目:
datasheet = DataSheetFactory()
contributors = datasheet.product_contributors.all()
关于python - post_generation with factory boy 在我想要列表时给出 ManyRelatedManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26607571/
我有两个模型: Rubric(models.Model): name = models.CharField() Magazine(models.Model): name = model
尝试这样做: wishList = WishList.objects.get(pk=20) matches = [val for val in Store.attribute_answers.all(
所以我试图显示一个表中没有出现在另一个表中的项目列表。但是我不断收到诸如“无法解压不可迭代的 ManyRelatedManager 对象”之类的错误 我已经尝试了 django 过滤器和排除的多种变体
我正在创建一个允许用户玩异步游戏的网站。我正在使用 Python 2.7.5 运行 Django 1.5,并使用 Django 的 native 用户身份验证 API。我没有创建自定义用户模型,而是将
我有 2 个不同的应用程序,没有特别的理由相互交谈。这意味着我不想在任何一个应用程序中导入任何一个名称。所有的工作都应该在胶水应用程序中。 我想编写一个胶水应用程序,通过 ManyToManyFiel
共有三种模型:House_Type、House_Option 和 Order House_Type 模型有 2 个字段:id 和 name House_Option 有 3 个字段:id、name 和
我无法解决名为 Many Related Manager is not iterable 的错误。我有名为 A 和 B 的模型,如下所示: class B(models.Model): in
在将一些项目添加到我的“国家”ManytomanyField 后,我在返回我的对象时遇到问题。我可以看到我的数据正在保存 class CompanyProfileManager(models.Ma
我的models.py 看起来像这样: class IP(models.Model): name = models.CharField(max_length=30, unique=True)
我显然是个笨蛋,我会在一开始就承认这一点。我正在使用以下工厂 class DataSheetFactory(factory.DjangoModelFactory): class Meta:
我有一个带有 ManyToManyFields 的简单模型,我正在序列化为 JSON: 模型.py: class Meeting(models.Model): site = models.Fo
我正在尝试访问 ManyToMany 链接的直通表上的字段,以通过 Django Rest Frameworks 序列化为 JSON。 我在多对多中涉及的模型有: class Mage(models.
for item in data: category_id = item['category_id'] del item['category_id'] category = C
我正在尝试对具有多对多字段的模型使用 ModelSerializer。 这是我模型的一部分: class BaseSearchService(models.Model): advertisements
我是一名优秀的程序员,十分优秀!