Используя django 1.11, у меня есть модель с определенными свойствами, которую я хочу вернуть с запросом get (в моем случае get_queryset возвращает ответ на запрос get), и он только возвращает определенные свойства данного экземпляра модели (ака объект, ака запись).Я хочу, чтобы все свойства записи, а не только те, которые django по умолчанию решает дать мне, используя набор запросов.
Я пытался использовать -
ekg.objects.all().filter(user=request.user).values('user', 'id')
- чтобы попытаться получитьконкретные значения возвращаются из базы данных безрезультатно.
Модели:
class Ekg(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, blank = False, null=False)
ekgId = models.AutoField(primary_key=True)
sampling_rate = models.DecimalField(max_digits=5, decimal_places=2, null = False, blank = False)
dataTag2 = models.TextField(null = False, blank= False)
dataTag3 = models.TextField(null = False, blank= False)
timestamp = models.DateTimeField(auto_now_add=True, null=False, blank=False) #date and time of the signal added to db
Просмотры:
class EkgAPIView(mixins.CreateModelMixin, generics.ListAPIView):
permission_classes= [permissions.IsAuthenticated]
authentication_classes= [JSONWebTokenAuthentication]
serializer_class = EkgSerializer
def get_queryset(self):
#return all
qs = Ekg.objects.all().filter(user=request.user).filter(ekgId=2).values('user', 'ekgId', 'sampling_rate', 'dataTag2', 'dataTag3', 'timestamp')
return qs
Скрипт, генерирующий выходные данные (игнорировать аутентификацию jwt, Response.textгенерирует выходные данные):
def do(method='get', data={}, is_json=True):
headers = {"Content-Type": "application/json",
"Authorization": "JWT " + token} #authorization header required with jwt per restconfig/main.py JWT_AUTH configuration}
if is_json:
headers['content-type'] = 'application/json'
data = json.dumps(data)
r = requests.request(method, EKG_ENDPOINT, data=data, headers=headers)
print(r.text)
print(r.status_code)#make sure its actually running
return r
data = {
}
do( data=data)
Вывод с использованием конечной точки API (не желательно):
[{
"sampling_rate":"212.00",
"dataTag2":"anotherDatatag2",
"dataTag3":"anotherDatatag3"
}]
Ожидается (отметка времени не совсем в этом формате, но отправляет мне ответное сообщение):
[{
"ekgId":"2",
"timestamp":"July 10, 2019 - 22:19:47",
"sampling_rate":"212.00",
"dataTag2":"anotherDatatag2",
"dataTag3":"anotherDatatag3"
}]