Как получить одно или несколько значений динамических полей в методе 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') будут работать

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