我有这3个型号:
class Service(models.Model):
name = models.CharField(max_length=30L, blank=True)
class ServiceUser(models.Model):
service = models.ForeignKey(Service, null=False, blank=False)
contact = models.ForeignKey(Contact, null=False, blank=False)
class SupplierPrice(models.Model):
service_user = models.ForeignKey('ServiceUser')
price_type = models.IntegerField(choices=PRICE_TYPES)
price = models.DecimalField(max_digits=10, decimal_places=4)
我想用SupplierPrice创建一个modelformset_factory作为模型。
modelformset_factory在Service和ServiceUser模型上完美运行。但如果我这样做:
>>> prices = SupplierPrice.objects.filter(service_user = srvuser)
这是一个返回两个对象SupplierPrice的查询集,并且:
>>> SupplierPriceFormSet = modelformset_factory(SupplierPrice)
>>> pricesformset = SupplierPriceFormSet(queryset=prices)
>>> pricesformset.as_p()
它返回一个DoesNotExist错误:服务匹配查询不存在。我一定是误解了什么但是什么?
答案 0 :(得分:0)
发生此异常是因为我的数据库的引用完整性存在一些错误。为了让modelformset_factory工作,我必须先清理它。
感谢PeterDeGlopper!之后,modelform_factory的渲染速度来自过于复杂的unicode模型方法。