Рассмотрим следующие модели со следующими полями:
Способности :
class Power(models.Model):
...
half = models.BooleanField()
micro = models.BooleanField()
UseP :
class UseP(models.Model):
...
power_policy = models.ForeignKey(Power, on_delete=models.CASCADE)
def use_types():
TYPES = []
TYPES.append(("F", "Full Use"))
if power_policy.half:
TYPES.append(("H", "Half Use"))
if power_policy.micro:
TYPES.append(("M", "Micro Use"))
return tuple(TYPES)
use_type = models.CharField(max_length=1, choices=use_types())
Функция не запускается. Как видите, когда я пытаюсь без аргументов "self", он говорит, что power_policy
не определено. Если я делаю это как self.power_policy
, он распознает политику электропитания, но когда я получаю и вызываю функцию, подобную use_type = models.CharField(max_length=1, choices=self.use_types())
, он говорит, что ключевое слово self
не определено в этой строке.
IЯ думаю, что код объясняет все это, но в случае, если он не хочет, я могу предоставить выбор своим пользователям после того, как они выберут Power, в соответствии с опцией power. Для чего я создал функцию, но на самом деле она не работает. Что я делаю не так или это вообще невозможно?
Спасибо за потраченное время,