Написал тег, который берёт данные из профиля супер юзера и передаёт в шаблон. Но при первом открытии страницы сайта Django ругается на отсутствие профиля у супер юзера. Чтобы не лезть в админку или шел для создания профиля дописал конструкцию try/finally. Есть ли смысл в таком простом случае гарантировать атомарность
transaction.atomic()
если до
IntegrityError
с базой данных никаких манипуляций не производилось?
@register.simple_tag
def get_brand():
'''
set brand name instead of 'Главная' in the navbar
'''
try:
with transaction.atomic():
UserProfile.objects.create(user_id=1)
finally:
return UserProfile.objects.first().brand