У меня есть эта модель:
class Journals(models.Model):
jid = models.AutoField(primary_key=True)
code = models.CharField("Code", max_length=50)
name = models.CharField("Name", max_length=2000)
publisher = models.CharField("Publisher", max_length=2000)
price_euro = models.CharField("Euro", max_length=2000)
price_dollars = models.CharField("Dollars", max_length=2000)
Есть ли способ позволить людям заполнить также price_euro
или price_dollars
?
Я действительно знаю, что лучший способ решить проблему состоит в том, чтобы иметь только одно поле и другую таблицу, которые указывают валюту, но у меня есть ограничения, и я не могу изменить DB.
Спасибо!
Я согласен с Т. Стоуном, что настройка формы - лучший способ. Если вы не можете этого сделать или в дополнение к этому, вы можете применить правило с помощью специального метода clean () в вашей форме . Просто имейте в виду, что любые ошибки проверки, которые вы бросаете в методе clean (), не будут привязаны к конкретным полям, а будут привязаны к самой форме.
Не обязательно, чтобы интерфейс отражал структуру данных. Вы можете просто сделать так, чтобы ваш пользовательский интерфейс представил им одно поле валюты, а затем выбор между долларами США и евро, а затем, когда данные будут возвращены в модель журналов, вы просто назначите их правильному полю и очистите другое.