Модель в подкаталоге через app_label?

Вы можете изменить только один элемент массива на каждом шаге цикла, поэтому вам нужно использовать новую переменную для агрегирования результатов:

do $
declare 
    groups jsonb = 
    '[
        {"id": "1", "name": "Ann", "age": 20 },
        {"id": "2", "name": "Margaret", "age": 30 }
    ]';
    new_groups jsonb = '[]';
begin
    for i in 0..jsonb_array_length(groups) - 1
    loop
        new_groups:= new_groups || (groups->i) - 'age';
    end loop;
    raise notice '%', new_groups;
end $;

NOTICE:  [{"id": "1", "name": "Ann"}, {"id": "2", "name": "Margaret"}]
DO

Лучше сделать то же самое в один запрос без цикла и дополнительной переменной:

do $
declare 
    groups jsonb = 
    '[
        {"id": "1", "name": "Ann", "age": 20 },
        {"id": "2", "name": "Margaret", "age": 30 }
    ]';
begin
    select jsonb_agg(value- 'age')
    from jsonb_array_elements(groups)
    into groups;
    raise notice '%', groups;
end $;
15
задан kahara 18 March 2016 в 09:56
поделиться

3 ответа

См. Билет Django # 10985: Объясните, как модели могут быть организованы в каталог

Возможно, вы не импортируете свои модели в __ init __. Py ?

{ {1}}
21
ответ дан 1 December 2019 в 03:04
поделиться

Вот решение, если у Вас есть более новая версия Django, предполагая, что у Вас есть подпапка, названная subfolder:

в apps.py из Вашего приложения папки:

from django.apps import AppConfig

class MyappConfig(AppConfig):
    name = 'myapp'

    def ready(self):
        from myapp.subfolder import models
0
ответ дан 1 December 2019 в 03:04
поделиться

syncdb не будет создавать таблицы для моделей, не расположенных в < appname> .models , поэтому импортируйте его туда, например из apps.foo.models импортировать SomeModel .

3
ответ дан 1 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: