У меня есть эти 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)
Я хочу создать modelformset_factory с SupplierPrice в качестве модели.
Modelformset_factory отлично работает с моделями Service и ServiceUser. Но если я сделаю:
>>> prices = SupplierPrice.objects.filter(service_user = srvuser)
который представляет собой набор запросов, который возвращает два объекта SupplierPrice и:
>>> SupplierPriceFormSet = modelformset_factory(SupplierPrice)
>>> pricesformset = SupplierPriceFormSet(queryset=prices)
>>> pricesformset.as_p()
Он возвращает ошибку DoesNotExist: запрос соответствия службы не существует. Я, должно быть, что-то неправильно понял, но что?
SupplierPriceFormSet
? Ваш код выше показываетServiceUserFormSet
для другой модели. - person Peter DeGlopper   schedule 30.11.2014Service
— возможно ли, что один из ваших экземпляровServiceUser
имеет FK для несуществующегоService
, скажем, потому, что вы используете устаревшую базу данных или базу данных, которая не применяет ограничения FK? Полный текст исключения тоже может помочь. - person Peter DeGlopper   schedule 30.11.2014