1 из многих вызовов переопределенного django `Model.save()` выдает ошибку pylint `unexpected-keyword-arg` - как мне ее удовлетворить?

Я внедрил и использую этот модельный (супер)класс, который я создал в течение многих лет, и он полностью стабилен на активном сайте. Я просто внес небольшую поправку в совершенно несвязанную часть его кода и проверил свою работу (на своей машине) с последней версией суперлинтера. Наши CI-тесты на github в настоящее время используют старый суперлинтер, и он никогда не жаловался, поэтому я был удивлен, увидев ошибку линтинга в коде, к которому я не прикасался уже много лет.

В моем классе модели есть переопределенный метод save(), который добавляет несколько дополнительных аргументов, которые он выводит kwargs перед вызовом super().save(). У меня есть несколько вызовов сохранения внутри класса, и линтер прекрасно справляется с этими дополнительными аргументами везде, кроме одного места (переопределение from_db):

@classmethod
def from_db(cls, *args, **kwargs):
    # Instantiate the model object
    rec = super().from_db(*args, **kwargs)

    # If autoupdates are not enabled (i.e. we're not in "lazy" mode)
    if not cls.get_coordinator().are_lazy_updates_enabled():
        return rec

    # Get the field names
    queryset_fields = set(args[1])  # field_names

    # Intersect the queryset fields with the maintained fields
    common_fields = set(cls.get_my_update_fields()).intersection(queryset_fields)

    # Look for maintained field values that are None
    lazy_update_fields = [fld for fld in common_fields if getattr(rec, fld) is None]

    if len(lazy_update_fields) > 0:
        # Trigger a lazy auto-update
        rec.save(fields_to_autoupdate=lazy_update_fields, via_query=True)

    return rec

Я пробовал выделять шрифтом rec при присвоении, но это не удовлетворило линтер. Я полагаю, что именно вызов super().from_db() устанавливает тип, который не включает мои args... но моя перегрузка сохранения определенно вызывается.

Так как же мне удовлетворить pylint здесь?

Вернуться на верх