#django #django-models
#django #django-модели
Вопрос:
У меня есть следующая модель, которая содержит 2
поля списка:
class Cimex_Search(models.Model):
search_engine = ArrayField(models.TextField(blank=True),blank=True,null=True,default=list)
web_technology = ArrayField(models.TextField(blank=True),blank=True,null=True,default=list)
def __str__(self):
return "default"
Теперь у меня есть следующая функция в views.py:
def cimex_search_searcher(request):
default_table = Cimex_Search.objects.get(id=1)
field_type = request.GET.get('fieldtype')
print(default_table.field_type) ###! NEED HELP HERE
- Как передать
fieldtype
значение вModel Object
? - Я хотел бы получить список объектов модели на основе
fieldtype
значения входного параметра.
Каков наилучший способ решения этой проблемы?
Ответ №1:
Вы можете попробовать использовать getattr
передачу модели и поля, поэтому для вашего варианта использования это было бы:
def cimex_search_searcher(request):
default_table = Cimex_Search.objects.get(id=1)
field_type = request.GET.get('fieldtype')
print(getattr(default_table, field_type))
Комментарии:
1. Что, если мне нужно обновить
field_type
значение поля? что-то вроде этогоex:
field_value = [«google.com «,»facebook.com «]; field_value.save()` , Как это сделать?2. В этом случае вы можете использовать
setattr
, это работает таким же образом.setattr(object, name, value)