# models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
from .validators import validate_fullname, validate_age
class User(AbstractUser):
pass
class AccountOne(models.Model):
user = models.OneToOneField(
User,
related_name='user_1',
on_delete=models.PROTECT,
null=True,
)
status_option = (
('Одобрено', 'Одобрено'),
('На рассмотрение', 'На рассмотрение'),
('Отклонено', 'Отклонено'),
('Заблокирован', 'Заблокирован'),
('Мертв', 'Мертв')
)
status = models.CharField(
verbose_name='Статус аккаунта',
choices=status_option,
max_length=20,
default=status_option[1][0]
)
fullname = models.CharField(
verbose_name='Имя и Фамилия персонажа',
max_length=15,
unique=True,
validators=[validate_fullname]
)
orientation_type = (
('M', 'Мужской'),
('Ж', 'Женский')
)
age = models.IntegerField(
verbose_name='Возраст',
validators=[validate_age]
)
money = models.IntegerField(
verbose_name='Деньги',
default=2000
)
color_type = (
('Светлокожий', 'Светлокожий'),
('Темнокожий', 'Темнокожий')
)
orientation = models.CharField(
verbose_name='Выбор пола',
max_length=8,
choices=orientation_type,
)
quintet = models.TextField(
verbose_name='Квента',
default='Квента'
)
situation_0 = models.TextField(
verbose_name='Ситауция 2',
default='Test'
)
situation_1 = models.TextField(
verbose_name='Ситуация 1',
default='test'
)
def __str__(self):
return f'{self.fullname}'
class Meta:
verbose_name = 'Персонажи'
class AccountTwo(models.Model):
user = models.OneToOneField(
User,
related_name='user_2',
on_delete=models.PROTECT,
null=True,
)
status_option = (
('Одобрено', 'Одобрено'),
('На рассмотрение', 'На рассмотрение'),
('Отклонено', 'Отклонено'),
('Заблокирован', 'Заблокирован'),
('Мертв', 'Мертв')
)
status = models.CharField(
verbose_name='Статус аккаунта',
choices=status_option,
max_length=20,
default=status_option[1][0]
)
fullname = models.CharField(
verbose_name='Имя и Фамилия персонажа',
max_length=15,
unique=True,
validators=[validate_fullname]
)
orientation_type = (
('M', 'Мужской'),
('Ж', 'Женский')
)
age = models.IntegerField(
verbose_name='Возраст',
validators=[validate_age]
)
money = models.IntegerField(
verbose_name='Деньги',
default=2000
)
color_type = (
('Светлокожий', 'Светлокожий'),
('Темнокожий', 'Темнокожий')
)
orientation = models.CharField(
verbose_name='Выбор пола',
max_length=8,
choices=orientation_type,
)
quintet = models.TextField(
verbose_name='Квента',
default='Квента'
)
situation_0 = models.TextField(
verbose_name='Ситауция 2',
default='Test'
)
situation_1 = models.TextField(
verbose_name='Ситуация 1',
default='test'
)
def __str__(self):
return f'{self.fullname}'
class Meta:
verbose_name = 'Персонажи'
class AccountThree(models.Model):
user = models.OneToOneField(
User,
related_name='user_3',
on_delete=models.PROTECT,
null=True,
)
status_option = (
('Одобрено', 'Одобрено'),
('На рассмотрение', 'На рассмотрение'),
('Отклонено', 'Отклонено'),
('Заблокирован', 'Заблокирован'),
('Мертв', 'Мертв')
)
status = models.CharField(
verbose_name='Статус аккаунта',
choices=status_option,
max_length=20,
default=status_option[1][0]
)
fullname = models.CharField(
verbose_name='Имя и Фамилия персонажа',
max_length=15,
unique=True,
validators=[validate_fullname]
)
orientation_type = (
('M', 'Мужской'),
('Ж', 'Женский')
)
age = models.IntegerField(
verbose_name='Возраст',
validators=[validate_age]
)
money = models.IntegerField(
verbose_name='Деньги',
default=2000
)
color_type = (
('Светлокожий', 'Светлокожий'),
('Темнокожий', 'Темнокожий')
)
orientation = models.CharField(
verbose_name='Выбор пола',
max_length=8,
choices=orientation_type,
)
quintet = models.TextField(
verbose_name='Квента',
default='Квента'
)
situation_0 = models.TextField(
verbose_name='Ситауция 2',
default='Test'
)
situation_1 = models.TextField(
verbose_name='Ситуация 1',
default='test'
)
def __str__(self):
return f'{self.fullname}'
class Meta:
verbose_name = 'Персонажи'