modelformset_factory出错:匹配查询不存在

时间:2014-11-30 20:15:51

标签: django formset

我有这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错误:服务匹配查询不存在。我一定是误解了什么但是什么?

1 个答案:

答案 0 :(得分:0)

发生此异常是因为我的数据库的引用完整性存在一些错误。为了让modelformset_factory工作,我必须先清理它。

感谢PeterDeGlopper!之后,modelform_factory的渲染速度来自过于复杂的unicode模型方法。