У меня есть модель, которая в основном хранит данные в поле JSON.Его вроде настраивают следующим образом:
class Record(models.Model):
data = JSONField()
Обычно поле данных имеет следующий формат:
data = {
"name": "Chad",
"age": 23
}
Теперь, в представлении, я хочу получить первые 20 записей,но заказано с использованием формата ['-age', 'name']
.Какие у меня есть варианты для этого?Прямо сейчас, единственное решение, которое я могу придумать, - это получить все записи, используя Record.objects.all()
, и выполнить итерацию целиком при упорядочении, используя поле data
json.Есть ли более быстрый способ сделать это?Или это мое единственное решение?Более того, если я решу это таким образом, как мне поступить с заказом записей, и это будет огромной проблемой производительности в моей базе данных?Спасибо.
Редактировать: я не могу сделать все в отдельных полях.Это должен быть JSONField, использующий базу данных PostgreSQL.