@@ -0,0 +1,24 @@
|
||||
from django.db import transaction
|
||||
|
||||
from .models import Card, UserAbility, UserCard, UserPet
|
||||
|
||||
|
||||
@transaction.atomic
|
||||
def initialize_math_identity(user, identity):
|
||||
UserPet.objects.get_or_create(user=user)
|
||||
for dimension, _ in UserAbility.Dimension.choices:
|
||||
UserAbility.objects.get_or_create(user=user, dimension=dimension)
|
||||
card, _ = Card.objects.get_or_create(
|
||||
slug=f"mathbti-{identity.code}",
|
||||
defaults={
|
||||
"name": f"{identity.mathematician}人物卡",
|
||||
"mathematician": identity.mathematician,
|
||||
"description": identity.description,
|
||||
"image": identity.portrait,
|
||||
},
|
||||
)
|
||||
UserCard.objects.get_or_create(
|
||||
user=user,
|
||||
card=card,
|
||||
defaults={"source": "mathbti"},
|
||||
)
|
||||
Reference in New Issue
Block a user