модель менеджер , которая просто создает записи в БД, выглядит это так:
class CommonManager(models.Manager):
"""
Common manager for most of models
"""
def record(self, **kwargs):
"""
Put new record to the database
"""
return self.create(**kwargs)
Суть в чем — когда в kwargs передается аргумент , которого в модели нету , выкидуется TypeError. Вопрос таков: можно ли это как то обработать и опустить аргументы, которые передаеются в kwargs но не присутствуют в модели ? Просто чтобы проигнорировало отсутсвующие в модели аргументы ?
а Try: и Except: не помогут в данной ситуации ? Или же сперва проверить при помощи If ..
обычно этим занимается view прослойка возможно джанго предлагает готовые решения у меня нет под рукой готового синтаксиса, но задачу можно решить так 1) Достать поля модели, 2) {key: value for key, value in kwargs.items() if key in model_fields }
Обсуждают сегодня