if is_admin == True:
admin_users = Group(name = 'Admin')
try:
admin_users.save()
except:
log.info("Admin Group already exists")
pass
group_id = Group.objects.get(name='Admin').id
如果在我得到的数据中,is_admin'是的,那么我将创建一个小组' Admin'如果不存在则保存并获取该组的ID - '管理员'。此ID将保存在userinfo中,其中Group为外键。 以下查询应该为我提供该组的ID。
group_id = Group.objects.get(name='admin').id
Instead it is saying
current transaction is aborted, commands ignored until end of transaction block
我正在使用postgresql数据库我不知道为什么它在执行此查询时给我错误。请告诉我如何编写查询。
答案 0 :(得分:1)
你想要实现的目标已经在django中:get_or_create。使用此代码应该看起来像
group, created = Group.objects.get_or_create(name='Admin')
if created:
log.info("Admin Group already exists")
group_id = group.pk
pk
是所有django模型的便利属性,它始终指向主键字段,无论它是自动处理还是显式指定。