Как получить одно или несколько значений динамических полей в методе django, передавая их в качестве динамических параметров/аргументов
Я новичок в django и застрял на получении значений динамических полей из метода django. Я хорошо понимаю php. В php я сделал функции для получения данных одного или нескольких динамических полей для моего проекта. Моя php функция выглядит следующим образом:
function dynamicData($id,$table,$columns_to_get){
include 'connect.php';//connection file
$sel=$connect->query("SELECT $columns_to_get FROM $table WHERE id='$id'");
$data=$sel->fetch_assoc();
return $data;
$connect->close();
}
Теперь я могу использовать вышеупомянутую функцию как $data=dynamicData(12,'users_table','name,id,age,gender');
или
$data=dynamicData(12,'users_table','name,gender');
Но в django я не получаю такой мысли, как вышеупомянутая функция php. В django я делаю следующую функцию, но я застрял
```
def commonSingleFullNormal(identity,app,model,**kwargs):
now_model=apps.get_model(app_label=app, model_name=model)
data=now_model.objects.filter(identity=identity).values(**kwargs)
return data[0]
```
Не работает почему? Кто-нибудь может помочь, пожалуйста?
Ваш вопрос не относится к django, скорее он связан с синтаксисом python. Независимо от этого, если вы перепишете свою функцию как
def commonSingleFullNormal(identity, app, model, *args):
now_model = apps.get_model(app_label=app, model_name=model)
data = now_model.objects.filter(identity=identity).values(*args)
return data[0]
Тогда он должен работать с произвольным количеством аргументов,
так что и commonSingleFullNormal(12, 'users', 'table', 'name', 'gender')
, и commonSingleFullNormal(12, 'users', 'table', 'name', 'id', 'age', 'gender')
будут работать