|
@@ -0,0 +1,53 @@
|
|
|
+from django.db import models
|
|
|
+from webservice_running.models import Sport, Event, Achievements, GENDERS
|
|
|
+from metaservicesynced.models import Client
|
|
|
+
|
|
|
+
|
|
|
+class Sportsman(models.Model):
|
|
|
+ """
|
|
|
+ Определяет дополнительные поля для сервиса "Друг-спортсмен".
|
|
|
+ Дополнительные данные, связанные с функционалом пользователя.
|
|
|
+ """
|
|
|
+ client = models.ForeignKey(Client, on_delete=models.DO_NOTHING, help_text="клиент, которому соответствует роль спортсмена")
|
|
|
+ bio = models.CharField(blank=True, max_length=512, help_text="")
|
|
|
+ level = models.FloatField(default=0, help_text="")
|
|
|
+ birthdate = models.DateField(null=True, blank=True, help_text="")
|
|
|
+ active_status = models.CharField(max_length=64, default="Active", help_text="")
|
|
|
+ time_updated = models.DateTimeField(blank=True, null=True, help_text="")
|
|
|
+ preferred_time = models.CharField(max_length=128, blank=True, help_text="список дней и времени")
|
|
|
+ reliance_rating = models.FloatField(default=0)
|
|
|
+ # blocked_sportsman = models.ManyToManyField("self", db_table="sportsman_blocked")
|
|
|
+ blocked_sportsman = models.ManyToManyField("self",
|
|
|
+ through="BlockedSportsman",
|
|
|
+ through_fields=("sportsman", "sportsman_blocked"))
|
|
|
+ browse_sportsman = models.ManyToManyField("self",
|
|
|
+ through="BrowseSportsman",
|
|
|
+ through_fields=("sportsman", "sportsman_browsed"))
|
|
|
+ saved_sportsman = models.ManyToManyField("self",
|
|
|
+ through="SavedSportsman",
|
|
|
+ through_fields=("sportsman", "sportsman_saved"))
|
|
|
+ sport_preferrence = models.ManyToManyField(Sport,
|
|
|
+ through="SportPreferrence",
|
|
|
+ through_fields=("sportsman", "sport"))
|
|
|
+ achievement = models.ManyToManyField(Achievements,
|
|
|
+ through="Achievement",
|
|
|
+ through_fields=("sportsman", "achievement"))
|
|
|
+ saved_event = models.ManyToManyField(Event,
|
|
|
+ through="SavedEvent",
|
|
|
+ through_fields=("sportsman", "event_savedevent"))
|
|
|
+ participant = models.ManyToManyField(Event,
|
|
|
+ through="Participant",
|
|
|
+ through_fields=("sportsman", "event_participant"),
|
|
|
+ related_name="sportsman_participant")
|
|
|
+ browse_event = models.ManyToManyField(Event,
|
|
|
+ through="BrowseEvent",
|
|
|
+ through_fields=("sportsman", "event_browseevent"),
|
|
|
+ related_name="sportsman_browseevent")
|
|
|
+ gender = models.CharField(max_length=1, choices=GENDERS, default=None, null=True, blank=True)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = "sportsman"
|
|
|
+ verbose_name = "Спортсмена"
|
|
|
+ verbose_name_plural = "Спортсмены"
|