Я пытаюсь фильтровать некоторые объекты на QuerySet, поле на то, что я пытаюсь это десятичное ...Джанго: QuerySet или фильтр на десятичном поле
модель:
class CheckingAccount(models.Model):
owner = models.ForeignKey(Owner)
name = models.CharField(max_length=50, blank=False)
description = models.CharField(max_length=50, blank=True)
datetime = models.DateTimeField(default=datetime.now, blank=False)
currency = models.ForeignKey(Currency)
balance = models.DecimalField(max_digits=20, decimal_places=6)
def __unicode__(self):
return unicode(self.balance)
форма :
def clean(self):
message = self.cleaned_data['acquisition_value']
ow = Owner.objects.get(user_id=self.request.user.id)
ca = CheckingAccount.objects.filter(balance=self.cleaned_data['checkingaccounts'])
ошибка я получаю: Исключение Значение:
не удается преобразовать в десятичную
Любая идея?
balance = models.DecimalField (max_digits = 20, decimal_places = 6) У вас есть код для Ex. Что такое модели, вы пробовали распечатать то, что он возвращает, прежде чем пытаться его преобразовать? тип (модели) возвращает? – glls
, что является значением 'self.cleaned_data ['checksaccounts']'? – ozgur
glss, да, я дебютировал, и это значение равно: 230000.000000. пару моделей. Один из (RealState) имеет форму, откуда мне нужно получить все контрольные счета для определенного владельца. Эти контрольные учетные записи загружаются в form.ModelChoiceField (с запросом), он работает нормально. Прежде чем сохранить форму RealState, я использую чистый метод для проверки того, что у расчетной учетной записи есть достаточный баланс, чтобы что-то купить. Здесь я не могу выполнить эту проверку, потому что я не могу получить эту учетную запись. –