- 菜品营养按食物成分表+烹饪方式校准(calibrate_nutrition 命令) - 后台接入 jazzmin 主题美化,移除 Google Fonts(模板覆盖) - 前端/后台静态资源指向 qnycdn 对象存储 CDN(vite base + DJANGO_STATIC_URL) - 菜单标题学校名称/周数可编辑,日期随周数计算 - admin 搜索支持拼音首字母/全拼(Dish.pinyin 索引,pypinyin) - Dockerfile 使用清华 pip 镜像源
28 lines
823 B
Python
28 lines
823 B
Python
from django.db import migrations, models
|
|
from pypinyin import Style, lazy_pinyin
|
|
|
|
|
|
def fill_pinyin(apps, schema_editor):
|
|
Dish = apps.get_model('meals', 'Dish')
|
|
for dish in Dish.objects.all():
|
|
full = ''.join(lazy_pinyin(dish.name))
|
|
initials = ''.join(lazy_pinyin(dish.name, style=Style.FIRST_LETTER))
|
|
dish.pinyin = f'{full} {initials}'
|
|
dish.save(update_fields=['pinyin'])
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('meals', '0004_dish_cuisine'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name='dish',
|
|
name='pinyin',
|
|
field=models.CharField(blank=True, editable=False, max_length=200, verbose_name='拼音索引'),
|
|
),
|
|
migrations.RunPython(fill_pinyin, migrations.RunPython.noop),
|
|
]
|