Я пытаюсь написать метод, подобный приведенному ниже, в котором список полей (подмножество всех полей) передается в качестве параметра, и значения их столбцов установлены на ноль.Я был бы счастлив, что мог бы получить метод только с полями в качестве параметра, как показано ниже, но иметь модель в качестве параметра было бы еще лучше.
из my_project.my_app.models import MyModel
def nullify_columns (self, null_fields):
field_names = MyModel._meta.get_all_field_names()
for field in field_names:
if field in null_fields:
# The below line does not work because I'm not sure how to
# dynamically assign the field name.
MyModel.objects.all().update( (MyModel.get_field(field).column) = None)
Сейчас у меня есть что-то вроде
if 'column1' in list_of_fields:
MyModel.objects.all().update(column1 = None)
if 'column2' in list_of_fields:
MyModel.objects.all().update(column2 = None)
и т. Д.что ужасно, но работает.