Как заставить './manage.py syncdb' создавать дополнительные представления или выполнять пользовательский SQL?

Я думаю, что идея с cut работает хорошо, также данные времени преобразуются в timedeltas с помощью to_timedelta , заменяют несовпадающие значения на fillna и последнюю совокупность [116 ]:

print (df)
           time col
0  16:30:00.095   A
1  16:30:00.097   B
2  16:30:00.122   C
3  16:30:00.255   D
4  16:30:00.322   E
5  16:30:00.420   F
6  16:30:00.569   G
df['time'] = pd.to_timedelta(df['time'].astype(str))

L = ['16:30:00.100', '16:30:00.200', '16:30:00.350', '16:30:00.450']
v = pd.to_timedelta(L + [pd.Timedelta.max])
df['b'] = pd.cut(df['time'], bins=v, labels = L)
df['b'] = df['b'].cat.add_categories(['not possible'])
df['b'] = df['b'].fillna('not possible')
print (df)
             time col             b
0 16:30:00.095000   A  not possible
1 16:30:00.097000   B  not possible
2 16:30:00.122000   C  16:30:00.100
3 16:30:00.255000   D  16:30:00.200
4 16:30:00.322000   E  16:30:00.200
5 16:30:00.420000   F  16:30:00.350
6 16:30:00.569000   G  16:30:00.450
df2 = df.groupby('b')['col'].apply(', '.join).reset_index()
print (df2)
              b   col
0  16:30:00.100     C
1  16:30:00.200  D, E
2  16:30:00.350     F
3  16:30:00.450     G
4  not possible  A, B

6
задан Randyka Yudhistira 20 March 2015 в 07:50
поделиться

2 ответа

Примечание: Как упомянуто в комментариях, этот метод удерживается от использования с Django 1.7.

Или просто создайте файл, названный sql / <modelname> .sql: http://docs.djangoproject.com/en/dev/howto/initial-data/#providing-initial-sql-data

4
ответ дан 8 December 2019 в 18:42
поделиться

Да, существуют сигналы, которые можно поймать после syncdb.

Посмотрите сигналы управления для документов.

Это - то, как contrib.auth таблица полномочий заполняется, а также contenttypes таблица платформы.

9
ответ дан 8 December 2019 в 18:42
поделиться
Другие вопросы по тегам:

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