Как создать новый столбец для поля Django Model и добавить его в существующую функцию? - PullRequest
0 голосов
/ 10 ноября 2019
from django.db import models

class Proline(models.Model):

    ln_num = models.CharField(
        primary_key=True, max_length=32, blank=True)
    ev_key = models.CharField(max_length=32, blank=True)
    ln_id = models.CharField(max_length=32, blank=True)
    pro_id = models.CharField(max_length=32, blank=True)


    def getProId(self):
        return self.pro_id

У меня есть следующая модель в models.py, где я использую getProId() в разных частях кода.

Теперь у меня есть новый столбец ( key_id ) длябыть добавленным при определенном условии (, если rules = 'Q', и я импортирую столбец правил из другого файла Python ), и я не хочу изменять функцию во всех частях кода, где у меня есть getProId() поэтому вместо этого я написал

from django.db import models
from something.rules import *

class Proline(models.Model):

    ln_num = models.CharField(
        primary_key=True, max_length=32, blank=True)
    ev_key = models.CharField(max_length=32, blank=True)
    ln_id = models.CharField(max_length=32, blank=True)
    pro_id = models.CharField(max_length=32, blank=True)
    key_id = models.CharField(max_length=32, blank=True)


    def getProId(self):
        if rules == 'Q':
            return self.key_id
        else:
            return self.pro_id

, так работает ли это, не затрагивая другие части кода, где мне не нужно писать это условие везде и обрабатывать это в models.py?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...