【发布时间】:2023-04-05 04:10:01
【问题描述】:
我有一个自定义命令来使用 JSON 数据填充 Django 对象,该数据主要以我想要的方式工作,但我遇到了 django-taggit 字段的问题。解析完所有数据并以 JSON 格式输出后,我的 JSON 对象中的流派如下所示:
"genres": "latin pop, pop, singer-songwriter",
django-taggit 采用逗号分隔的标签列表,这就是它。但是当我运行下面的自定义命令时,我的模型中的 genres = TaggableManager() 字段中没有任何内容。
import json
import dateparser
from django.db import IntegrityError
from django.core.management.base import BaseCommand, CommandError
from concerts.models import Concert, Venue
class Command(BaseCommand):
help = "Load JSON concert data"
def add_arguments(self, parser):
parser.add_argument('concert_file', type=str)
def handle(self, *args, **options):
with open(options['concert_file']) as f:
data = json.load(f)
for concert in data:
try:
venue = Venue.objects.get(name=concert['venue'])
except Venue.DoesNotExist:
print "Can't find venue! " + concert['venue']
pass
del concert['venue']
try:
Concert.objects.create(venue=venue, **concert)
except IntegrityError:
print concert['slug'] + ": This concert already exists!"
pass
# if the slug unique contrainst fails, just pass this concert
我怎样才能让流派字段以我想要的方式填充?
【问题讨论】:
标签: django django-taggit