Как при создании объектов использовать условие Python
Есть условие перед записью в БД
if data['data']['category']['id'] == '5297':
catid= 2
elif data['data']['category']['id'] == '5298':
catid = 3
elif data['data']['category']['id'] == '5299':
catid = 4
else:
catid=None
Записываю в БД вот так:
News.objects.create(
image=new_preview_img_url,
category=NewsCategory.objects.get(id=catid),
body=new_body,
)
Мне нужно в случае, когда catid == None
Записать в category None. Как-то примерно так:
News.objects.create(
image=new_preview_img_url,
if catid is not None:
category=NewsCategory.objects.get(id=catid),
else:
category = None,
body=new_body,
)
Но так не выходит, так синтаксически вообще возможно сделать?
Ответы (1 шт):
Автор решения: Алексей Власов
→ Ссылка
Да, можно:
News.objects.create(
image=new_preview_img_url,
category=NewsCategory.objects.get(id=catid) if catid is not None else None,
body=new_body,
)
То есть:
...
category=NewsCategory.objects.get(id=catid) if catid is not None else None
...
Или так:
...
category=NewsCategory.objects.get(id=catid) if (catid is not None) else None
...