Пример #1
0
class Bird(models.Model):
    name = models.CharField(max_length=50)
    date_of_birth = models.DateField('Date of Birth',
                                     blank=True,
                                     default=date.today)
    color = EnumChoiceField(color, blank=True, default=color.default)
    height = models.DecimalField(max_digits=5,
                                 decimal_places=2,
                                 blank=True,
                                 default=0)
    weight = models.DecimalField(max_digits=5,
                                 decimal_places=2,
                                 blank=True,
                                 default=0)
    date_entered = models.DateField('Date Entered Shelter', default=date.today)
    bio = models.TextField(blank=True, default="")
    shelter = models.ForeignKey('shelter')
    species = EnumChoiceField(Species, default=Species.bird, editable=False)
    breed = EnumChoiceField(bird_breed, blank=True, default=bird_breed.default)
    adoption_status = EnumChoiceField(adopt_status,
                                      default=adopt_status.available)

    def __unicode__(self):
        return self.name + " " + unicode(
            self.date_entered.strftime('%Y-%m-%d'))
Пример #2
0
class DesiredMate(models.Model):
    breed = models.CharField(choices=Breeds, default='beagle', max_length=100)
    #breed = MultiSelectField(choices = BreedsDesiredMate, default = ['beagle', 'sapsal'])
    sex = EnumChoiceField(SexDesiredMate, default=SexDesiredMate.male)
    size = EnumChoiceField(SizeDesiredMate, default=SizeDesiredMate.small)
    personality = models.OneToOneField(PersonalityDesiredMate,
                                       on_delete=models.CASCADE)
Пример #3
0
class JobListingList(models.Model):
    '''Postgres database view'''
    id = models.BigIntegerField(primary_key=True)
    company_name = models.TextField()
    job_title = models.TextField()
    description = models.TextField()
    position_type = EnumChoiceField(enum_class=JobPositionType)
    contract_length = models.IntegerField()
    salary = models.IntegerField()
    salary_frequency = EnumChoiceField(enum_class=SalaryFrequency)
    languages = ArrayField(models.TextField())
    city = models.TextField()
    state_name = models.TextField()
    country_name = models.TextField()
    post_code = models.TextField()
    tags = ArrayField(models.TextField())
    status = models.IntegerField()
    created_date = models.DateTimeField()
    modified_date = models.DateTimeField()
    published_date = models.DateTimeField()
    closed_date = models.DateTimeField()
    objects = ModelManager()

    class Meta:
        managed = False
        db_table = 'job_listing_joblistinglistview'
Пример #4
0
class Schema(models.Model):
    """Schema model"""
    external_id = models.PositiveIntegerField(null=False, blank=False)
    type = EnumChoiceField(SchemaTypeChoice)
    name = models.CharField(max_length=128, null=False, blank=False)
    ebcdic = models.BooleanField(default=False)
    format = EnumChoiceField(SchemaFormatChoice)
    fields = django.contrib.postgres.fields.JSONField()
Пример #5
0
class Lead(BaseModel):
    first_name = models.CharField(max_length=64, blank=False, null=False, )
    last_name = models.CharField(max_length=64, blank=False, null=False, )
    mobile = models.CharField(max_length=13, blank=False, null=False, )
    email = models.CharField(max_length=128, blank=False, null=False,unique=True)
    location_type = EnumChoiceField(LocationType, default=LocationType.Country)
    location_string = models.CharField(max_length=64)
    status = EnumChoiceField(LeadStatus, default=LeadStatus.Created)
    communication = models.CharField(max_length=512,null=True)
    tags = models.CharField(max_length=512, null=True) # Comma List
Пример #6
0
class Game(models.Model):
    # Future improvements: peg1 - peg4 should be an array
    peg1 = EnumChoiceField(Color, default=Color.Green)
    peg2 = EnumChoiceField(Color, default=Color.Green)
    peg3 = EnumChoiceField(Color, default=Color.Green)
    peg4 = EnumChoiceField(Color, default=Color.Green)

    # Future improvement - I would add a boolean field in the response stating if the game was won or not
    def __str__(self):
        return "GamedId: {}".format(self.id)
Пример #7
0
class AttemptResponse(models.Model):
    # Future improvements: response1 - response4 should be an array
    response1 = EnumChoiceField(ResultColor, null=True, blank=True)
    response2 = EnumChoiceField(ResultColor, null=True, blank=True)
    response3 = EnumChoiceField(ResultColor, null=True, blank=True)
    response4 = EnumChoiceField(ResultColor, null=True, blank=True)

    def __str__(self):
        return "Attempt response: {} {} {} {}".format(self.response1,
                                                      self.response2,
                                                      self.response3,
                                                      self.response4)
Пример #8
0
class Priority(BaseModel):
    priority_id = models.AutoField(primary_key=True)

    user_class = EnumChoiceField(UserClass, default=UserClass.FIRST)
    user_study = EnumChoiceField(UserStudy, default=UserStudy.DATAING)

    class Meta:
        ordering = ("user_class", "user_study")
        verbose_name_plural = "Priorities"

    def __str__(self):
        return f"{self.user_class} {self.user_study}"
Пример #9
0
class Companion(models.Model):
    user = models.ForeignKey('auth.User',
                             related_name='companion',
                             on_delete=models.CASCADE)
    name = models.CharField(null=False, blank=False, max_length=15)
    sex = EnumChoiceField(Sex, default=Sex.male)
    birth_year = models.PositiveIntegerField(default=2018)
    breed = models.CharField(choices=Breeds, default='beagle', max_length=100)
    size = EnumChoiceField(Size, default=Size.small)
    desired_mate = models.OneToOneField(DesiredMate, on_delete=models.CASCADE)
    personality = models.OneToOneField(Personality, on_delete=models.CASCADE)
    mating_season = models.OneToOneField(MatingSeason,
                                         on_delete=models.CASCADE)
Пример #10
0
class Bet(models.Model):
    description = models.TextField()
    wager = models.TextField()
    bettor = models.CharField(max_length=100)
    opponent = models.CharField(max_length=100)
    deadline = models.DateTimeField('end date')
    created_at = models.DateTimeField('bet made date', auto_now_add=True)
    outcome = EnumChoiceField(BetResultChoice, blank=True, null=True)
    state = EnumChoiceField(BetStateChoice, default=BetStateChoice.O)

    def __str__(self):
        return "Description: {}, Bettor: {}, Opponent: {}, Deadline: {}, Outcome: {}"\
            .format(self.description, self.bettor, self.opponent, self.deadline, self.outcome)
Пример #11
0
class AttemptSerializer(serializers.ModelSerializer):
    game = GameSerializer(read_only = True)
    result = AttemptResponseSerilaizer()

    class Meta:
        model = Attempt
        fields = '__all__'

    id = serializers.UUIDField(read_only = True)
    peg1 = EnumChoiceField(enum_class = Color)
    peg2 = EnumChoiceField(enum_class = Color)
    peg3 = EnumChoiceField(enum_class = Color)
    peg4 = EnumChoiceField(enum_class = Color)
Пример #12
0
class MembershipHistory(BaseModel):
    """Model for a Group Membership History"""

    user = models.ForeignKey(User, on_delete=models.CASCADE)
    group = models.ForeignKey(Group, on_delete=models.CASCADE)
    membership_type = EnumChoiceField(MembershipType, default=MembershipType.MEMBER)
    start_date = models.DateTimeField()
    end_date = models.DateTimeField()

    class Meta:
        unique_together = ("user", "group", "end_date")
        verbose_name = "Membership History"
        verbose_name_plural = "Membership Histories"

    def __str__(self):
        return f"{self.user} - {self.group} - {self.membership_type} - {self.end_date}"

    @staticmethod
    def from_membership(membership):
        """Creates a Membership History object from a Membership object"""
        MembershipHistory.objects.create(
            user=membership.user,
            group=membership.group,
            membership_type=membership.membership_type,
            start_date=membership.created_at,
            end_date=today(),
        )
Пример #13
0
class Sliders(models.Model):
    slider_id = models.BigIntegerField
    slider_url = models.ImageField(upload_to=Image_Path, default='')
    type_slider = EnumChoiceField(enum_class=TypeState, default=TypeState.book)

    def __str__(self):
        return str(self.type_slider)
Пример #14
0
class Attempt(models.Model):
    # Future improvements: peg1 - peg4 should be an array
    peg1 = EnumChoiceField(Color, default=Color.Green)
    peg2 = EnumChoiceField(Color, default=Color.Green)
    peg3 = EnumChoiceField(Color, default=Color.Green)
    peg4 = EnumChoiceField(Color, default=Color.Green)

    game = models.ForeignKey(Game, on_delete=models.CASCADE)
    result = models.OneToOneField(AttemptResponse,
                                  on_delete=models.CASCADE,
                                  null=True,
                                  blank=True)

    def __str__(self):
        return "Attempt for game {} values: {} {} {} {}".format(
            self.game.id, self.peg1, self.peg2, self.peg3, self.peg4)
Пример #15
0
class RoomSerializer(serializers.ModelSerializer):
    # room_type = RoomTypeSerializer()
    status = EnumChoiceField(enum_class=Status)

    class Meta:
        model = Rooms
        fields = '__all__'
Пример #16
0
class Food(models.Model):
    """To create the Food table in the database with 8 attributs (fields)."""
    name = models.CharField("nom de l'aliment", max_length=255)
    brand = models.CharField("marque de l'aliment",
                             max_length=100,
                             null=False,
                             default='rien')
    category = models.ForeignKey(Category,
                                 on_delete=models.CASCADE,
                                 related_name='category',
                                 verbose_name="catégorie")
    nutrition_grade = EnumChoiceField(NutritionGrade,
                                      verbose_name="nutriscore")
    nutrition_score = models.SmallIntegerField("autre nutriscore")
    url = models.URLField("url de la fiche de l'aliment")
    image_food = models.URLField("url de l'image de l'aliment")
    image_nutrition = models.URLField(
        "url de l'image des repères nutritionnels de l'aliment")

    class Meta:
        """Each (name + brand) item must be unique."""
        verbose_name = "aliment"
        unique_together = ("name", "brand")

    def __str__(self):
        return '%s %s' % (self.name, self.brand)
Пример #17
0
class Notification(models.Model):
    class Meta:
        app_label = 'notification'

    actor = models.ForeignKey('core.User',
                              related_name='notifications',
                              on_delete=models.CASCADE)
    verb = EnumChoiceField(NotificationVerb)

    content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey('content_type', 'object_id')

    time = models.DateTimeField(auto_now_add=True, db_index=True)

    objects = NotificationManager()

    def get_absolute_url(self):
        if self.content_type.model_class() == apps.get_model('core.Dataset'):
            return reverse('dataset', args=[str(self.object_id)])
        raise Exception('No url defined for this content type')

    def get_full_url(self):
        """
        Get the full url of the content_object (with the server scheme and url).
        """
        return '%s://%s%s' % (settings.SERVER_SCHEME, settings.SERVER_URL,
                              self.get_absolute_url())

    def __str__(self):
        return f'N: {self.actor} {self.verb} {self.object_id} {self.time}'
Пример #18
0
class Faq(models.Model):
    buz_id = models.ForeignKey(
        'Company', on_delete=models.CASCADE,
    )
    class_kind = EnumChoiceField(Enum_Kind)
    owner = models.CharField('Owner.', max_length=20, null=True)
    subject = models.CharField('Subject.', max_length=100)
    content = models.TextField('Content', null=True)
    attach = models.FileField('Attachment.', upload_to='uploads/faq/%Y/%m/%d/',
                              max_length=100, blank=True)
    passno = models.CharField('Password.', max_length=4, null=True,
                              help_text=('Required. 4 digits Only.'))
    cdate = models.DateTimeField('Create Date', auto_now_add=True)
    mdate = models.DateTimeField('Modify Date', auto_now=True)

    class Meta:
        db_table = 'faq'
        verbose_name_plural = 'faqs'
        ordering = ['-mdate']


    def __str__(self):
        return self.subject

    def get_absolute_url(self):
        return reverse('faq:faq_detail', args=(self.id,))

    def get_previous_faq(self):
        return self.get_previous_by_mdate()

    def get_next_faq(self):
        return self.get_next_by_mdate()

    def save(self, *args, **kwargs):
        super(Faq, self).save(*args, **kwargs)
Пример #19
0
class WorkflowStepSchemaSerializer(serializers.ModelSerializer):
    id = serializers.IntegerField(required=False, read_only=False)
    type = EnumChoiceField(enum_class=WorkflowStepSchemaTypeChoice)

    class Meta:
        model = WorkflowStepSchema
        fields = ('id', 'type', 'name', 'schema')
Пример #20
0
class CheckInBookingSerializer(serializers.ModelSerializer):
    customer_first_name = serializers.CharField(required=False,
                                                allow_blank=True)
    customer_last_name = serializers.CharField(required=False,
                                               allow_blank=True)
    adults = serializers.IntegerField(required=False)
    child = serializers.IntegerField(required=False)
    # booking_id = serializers.CharField(required=False)
    address = serializers.CharField(required=False, allow_blank=True)
    check_in = serializers.DateField(required=False)
    check_out = serializers.DateField(required=False)
    number_of_days = serializers.IntegerField(required=False)
    email = serializers.EmailField(required=False, allow_blank=True)
    id_proof_one = serializers.FileField(required=False)
    id_proof_two = serializers.FileField(required=False)
    token_amount = serializers.FloatField(required=False)
    pincode = serializers.IntegerField(required=False)
    status = serializers.BooleanField(required=False, read_only=True)
    checked_in = serializers.BooleanField(required=False, read_only=True)
    taluka = serializers.CharField(required=False, allow_blank=True)
    booking_status = EnumChoiceField(enum_class=Status)

    def create(self, validated_data):
        check_in_instance = Booking.objects.create(
            checked_in=True, booking_status=Status.Occupied, **validated_data)
        RoomStatus.objects.create(booking=check_in_instance,
                                  room=check_in_instance.room,
                                  from_date=check_in_instance.check_in,
                                  to_date=check_in_instance.check_out,
                                  room_status=Status.Occupied)
        return check_in_instance

    class Meta:
        model = Booking
        fields = '__all__'
Пример #21
0
class CurrentAndUpcomingReservation(pg.ReadOnlyMaterializedView):
    class Meta:
        managed = False

    # Must declare a unique key which can be used against for concurrent refreshes.
    concurrent_index = 'reservation_id'

    ##############
    # Attributes #
    ##############
    reservation_id = models.UUIDField(primary_key=True,
                                      default=uuid.uuid4,
                                      editable=False)
    first_name = models.CharField(max_length=255, null=False)
    last_name = models.CharField(max_length=255)
    in_date = models.DateField(editable=False, null=False)
    out_date = models.DateField(editable=False, null=False)
    room_number = models.CharField(max_length=255, null=False)
    checkin_datetime = models.DateTimeField(null=True)
    checkout_datetime = models.DateTimeField(null=True)
    status = EnumChoiceField(enum_class=ReservationState,
                             default=ReservationState.pending,
                             null=False)

    sql = CURRENT_AND_UPCOMING_RESERVATIONS_SQL
Пример #22
0
class MembershipModel(models.Model):
    """ Membership details """

    # Auto-generated membership number as primary key
    membership_no = models.AutoField(primary_key=True)

    # Default to object creation time, but allow this to be set manually
    date_joined = models.DateField(default=date.today)

    # Whether or not the membership fee has been payed (if applicable)
    group_expiry = models.DateField(default=one_year_from_today)

    type = EnumChoiceField(MembershipType, default=MembershipType.member)
    """ Membership relationships """
    member = models.ForeignKey(UserModel, on_delete=models.CASCADE)
    group = models.ForeignKey(GroupModel, on_delete=models.CASCADE)

    class Meta:
        """ Configure the name displayed in the admin panel """

        verbose_name = "Membership"
        verbose_name_plural = "Memberships"

        unique_together = ("member", "group")

    def __str__(self):
        return "Membership for {} to {}".format(str(self.member),
                                                str(self.group))

    def is_singular_board_member(self):
        return self.type in MembershipType.singular_board_members()

    def is_board_member(self):
        return self.type in MembershipType.board_members()
Пример #23
0
class Profile(models.Model):
    user = models.OneToOneField('auth.User', on_delete=models.CASCADE)
    nickname = models.CharField(null=False, blank=False, max_length=15)
    first_address = models.CharField(null=False, blank=False, max_length=100)
    second_address = models.CharField(null=False, blank=False, max_length=100)
    age = models.PositiveIntegerField(default=0)
    gender = EnumChoiceField(Sex, default=Sex.male)
    email = models.CharField(null=False, blank=False, max_length=30)
Пример #24
0
class Workflow(models.Model):
    """Workflow model"""
    name = models.CharField(max_length=128, null=False, blank=False)
    type = EnumChoiceField(WorkflowTypeChoice)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    version = models.PositiveIntegerField()
    description = models.TextField(null=True, blank=True)
Пример #25
0
class WorkflowStepSchema(models.Model):
    """WorkflowStepSchema model"""
    name = models.CharField(max_length=128)
    type = EnumChoiceField(WorkflowStepSchemaTypeChoice)
    workflow_step = models.ForeignKey(WorkflowStep,
                                      related_name='schemas',
                                      on_delete=models.CASCADE)
    schema = models.ForeignKey(Schema, on_delete=models.CASCADE)
Пример #26
0
class OfferIpo(models.Model):
    company_name = models.CharField(max_length=150)
    country_id = models.ForeignKey(Structure,
                                   on_delete=models.CASCADE,
                                   related_name='country',
                                   null=True)
    exchange_code = models.CharField(max_length=10)
    offer_type = EnumChoiceField(OfferType, default=OfferType.ipo)
    quarter_type = EnumChoiceField(OfferMethod, default=OfferMethod.sal)
    open_date = models.DateField(null=True)
    close_date = models.DateField(null=True)
    extended_date = models.DateField(null=True)
    proposed_listing_date = models.DateField(null=True)
    actual_listing_date = models.DateField(null=True)

    def __str__(self):
        return self.company_name
Пример #27
0
class DataLocation(CoreModel):
    """
    Represent a data location.
    """
    class Meta:
        app_label = 'core'
        get_latest_by = "added"
        ordering = ['added']

    backend = models.ForeignKey(
        'core.StorageResource',
        verbose_name="Storage back-end",
        on_delete=models.CASCADE,
        help_text='Select the storage or application platform that holds data.'
    )

    category = EnumChoiceField(
        StorageLocationCategory,
        default=StorageLocationCategory.master,
        blank=False,
        null=False,
        verbose_name='Nature of data copy.',
        help_text='Is this the master copy, a working copy or a backup?.')

    dataset = models.ForeignKey('core.Dataset',
                                related_name='data_locations',
                                on_delete=models.CASCADE)

    datatypes = models.ManyToManyField(
        "core.DataType",
        verbose_name="Stored datatypes",
        blank=True,
        related_name="storage_locations",
        help_text=
        'The scope of this storage. Leave empty if all data types are stored in a single location.'
    )

    data_declarations = models.ManyToManyField(
        'core.DataDeclaration',
        blank=True,
        related_name='data_locations',
        verbose_name='Stored data declarations',
        help_text=
        'The scope of this storage. Leave empty if all data declarations are stored in a single location.'
    )

    location_description = TextFieldWithInputWidget(
        blank=True,
        null=True,
        verbose_name='Location of the data',
        help_text=
        'E.g. Laptop 1, server folder path or application URL endpoint.')

    def __str__(self):
        return '{} - {} - {}'.format(self.category, self.backend.name,
                                     self.location_description)
Пример #28
0
class Cheatsheet(BaseModel, BasePermissionModel):
    write_access = AdminGroup.admin()
    read_access = [Groups.TIHLDE]
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    title = models.CharField(max_length=200)
    creator = models.CharField(max_length=200)
    grade = EnumChoiceField(UserClass, default=UserClass.FIRST)
    study = EnumChoiceField(UserStudy, default=UserStudy.DATAING)
    course = models.CharField(max_length=200)
    type = EnumChoiceField(CheatsheetType, default=CheatsheetType.LINK)
    official = models.BooleanField(default=False)
    url = models.URLField(max_length=600)

    class Meta:
        verbose_name = "Cheatsheet"
        verbose_name_plural = "Cheatsheets"

    def __str__(self):
        return f"{self.title} {self.course}"
Пример #29
0
class AbstractVideoTranscode(models.Model):
    media_format = EnumChoiceField(MediaFormats)
    quality = EnumChoiceField(VideoQuality, default=VideoQuality.default)
    processing = models.BooleanField(default=False)
    file = models.FileField(null=True, blank=True, verbose_name=_('file'),
                            upload_to=get_upload_to)
    error_message = models.TextField(blank=True)

    @property
    def url(self):
        return self.file.url

    def get_upload_to(self, filename):
        folder_name = 'video_transcodes'
        filename = self.file.field.storage.get_valid_name(filename)
        return os.path.join(folder_name, filename)

    class Meta:
        abstract = True
Пример #30
0
class Chapter(models.Model):

    chapter_no = models.PositiveIntegerField(null=True, blank=True)
    chapter_name = models.CharField(max_length=100)
    chapter_url = models.FileField(upload_to='static/book', default='')
    state = EnumChoiceField(enum_class=State, default=State.free)
    book_id = models.ForeignKey(Books, on_delete=models.CASCADE, default=1)

    def __str__(self):
        return self.chapter_name