107 lines
3.0 KiB
Python
107 lines
3.0 KiB
Python
import os
|
|
import django
|
|
from django.db import transaction
|
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
|
|
django.setup()
|
|
|
|
from server.models import (
|
|
Game,
|
|
Guild,
|
|
Player,
|
|
PlayerGameProfile,
|
|
WowProfile,
|
|
ValorantProfile,
|
|
PlayerGuild,
|
|
)
|
|
|
|
|
|
def populate_games():
|
|
games = ["World of Warcraft", "Valorant"]
|
|
for game in games:
|
|
g = Game.objects.get_or_create(name=game)[0]
|
|
|
|
|
|
def populate_guilds():
|
|
guilds = ["Gamers", "Epic Nerds"]
|
|
for guild in guilds:
|
|
g = Guild.objects.get_or_create(name=guild)[0]
|
|
|
|
|
|
def populate_players():
|
|
players = ["Pixel", "Zman", "Skip"]
|
|
for player in players:
|
|
p = Player.objects.get_or_create(name=player)[0]
|
|
|
|
|
|
def populate_player_guilds():
|
|
player_guilds = [
|
|
{"player": "Pixel", "guild": "Gamers"},
|
|
{"player": "Zman", "guild": "Gamers"},
|
|
{"player": "Skip", "guild": "Epic Nerds"},
|
|
]
|
|
for profile in player_guilds:
|
|
p = PlayerGuild.objects.get_or_create(
|
|
player=Player.objects.get(name=profile["player"]),
|
|
guild=Guild.objects.get(name=profile["guild"]),
|
|
)[0]
|
|
|
|
|
|
def populate_player_game_profiles():
|
|
player_game_profiles = [
|
|
{"player": "Pixel", "game": "World of Warcraft"},
|
|
{"player": "Zman", "game": "World of Warcraft"},
|
|
{"player": "Skip", "game": "Valorant"},
|
|
{"player": "Skip", "game": "World of Warcraft"},
|
|
]
|
|
for profile in player_game_profiles:
|
|
p = PlayerGameProfile.objects.get_or_create(
|
|
player=Player.objects.get(name=profile["player"]),
|
|
game=Game.objects.get(name=profile["game"]),
|
|
)[0]
|
|
|
|
|
|
def populate_wow_profiles():
|
|
wow_profiles = [
|
|
{"player": "Pixel", "level": 60, "class_name": "Mage"},
|
|
{"player": "Zman", "level": 60, "class_name": "Warrior"},
|
|
{"player": "Skip", "level": 60, "class_name": "Rogue"},
|
|
]
|
|
for profile in wow_profiles:
|
|
p = WowProfile.objects.get_or_create(
|
|
player_game_profile=PlayerGameProfile.objects.get(
|
|
player=Player.objects.get(name=profile["player"]),
|
|
game=Game.objects.get(name="World of Warcraft"),
|
|
),
|
|
level=profile["level"],
|
|
class_name=profile["class_name"],
|
|
)[0]
|
|
|
|
|
|
def populate_valorant_profiles():
|
|
valorant_profiles = [{"player": "Skip", "rank": "Diamond"}]
|
|
for profile in valorant_profiles:
|
|
p = ValorantProfile.objects.get_or_create(
|
|
player_game_profile=PlayerGameProfile.objects.get(
|
|
player=Player.objects.get(name=profile["player"]),
|
|
game=Game.objects.get(name="Valorant"),
|
|
),
|
|
rank=profile["rank"],
|
|
)[0]
|
|
|
|
|
|
def populate():
|
|
with transaction.atomic():
|
|
populate_games()
|
|
populate_guilds()
|
|
populate_players()
|
|
populate_player_game_profiles()
|
|
populate_wow_profiles()
|
|
populate_valorant_profiles()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("Populating script!")
|
|
populate()
|
|
print("Population complete!")
|