Написание собственного метода обновления для модели в Django - PullRequest
0 голосов
/ 03 ноября 2018

Я хотел бы написать собственный метод обновления для моей модели. В основном я хотел бы убедиться, что поля, передаваемые этому методу, являются полями, присутствующими в этой модели. Я придумал что-то вроде этого

def update(self,dict):
    #Check if the fields in this data are present in this model
    for key in data:
        if not hasattr(self, key):
            #This property is not present
            data.pop(key)
    self.update(data)

Однако, когда я делаю что-то подобное

modelMyobject.objects.filter(xxxxx).update(**dict)

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

1 Ответ

0 голосов
/ 03 ноября 2018

Вы используете метод модели в Querysets , поэтому вместо этого попробуйте либо:

for i in modelMyobject.objects.filter(xxxxx):
     i.update(**dict)

Или писать Пользовательский Django Model Manager .

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