コード例 #1
0
class User(AbstractUser):
    id = models.UUIDField(primary_key=True,
                          default=uuid.uuid4,
                          editable=False,
                          unique=True)
    username = models.CharField(blank=True, null=True, max_length=50)
    email = models.EmailField(('email address'), unique=True)
    first_name = models.CharField(blank=False, max_length=50)
    last_name = models.CharField(blank=False, max_length=50)
    clout = models.IntegerField(default=0)
    courses = models.ArrayReferenceField(to='posts.Course',
                                         on_delete=models.SET_NULL,
                                         blank=True,
                                         null=True,
                                         related_name='+')
    posts = models.ArrayReferenceField(to='posts.Post',
                                       on_delete=models.SET_NULL,
                                       blank=True,
                                       null=True,
                                       related_name='+')
    comments = models.ArrayReferenceField(to='posts.Comment',
                                          on_delete=models.SET_NULL,
                                          blank=True,
                                          null=True,
                                          related_name='+')
    isTutor = models.BooleanField(default=False)

    # Overwriting default username field in Django's AbstractUser class. Allows for unique check for email and prevents usernames from being required.
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['username', 'first_name', 'last_name']

    def __str__(self):
        return "{} {}".format(self.first_name, self.last_name)
コード例 #2
0
class UserProfile(models.Model):

    _id = models.ObjectIdField()
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    email_address = models.EmailField(max_length=254)
    phone_number = models.CharField(max_length=10)
    alternate_phone = models.CharField(max_length=254)
    kyc_verified = models.BooleanField()
    accounts_linked = models.ArrayReferenceField(to=Accounts, blank=True)
    profile_pic = models.ImageField(upload_to=get_file_path,
                                    default='',
                                    blank=True,
                                    null=True)
    user_joined_date = models.CharField(max_length=50)
    transactions_linked = models.ArrayReferenceField(to=Transactions,
                                                     on_delete=models.CASCADE,
                                                     blank=True)
    tickets_linked = models.ArrayReferenceField(to=Ticket,
                                                on_delete=models.CASCADE,
                                                blank=True)
    cards_linked = models.ArrayReferenceField(to=Card,
                                              on_delete=models.CASCADE,
                                              blank=True)
    wallets_linked = models.ArrayReferenceField(to=Wallet,
                                                on_delete=models.CASCADE,
                                                blank=True)

    def __str__(self):
        return str(self.user.id)
コード例 #3
0
class Course(models.Model):
    class Meta:
        unique_together = [['courseCode', 'university']]

    id = models.UUIDField(primary_key=True,
                          default=uuid.uuid4,
                          editable=False,
                          unique=True)
    courseCode = models.CharField(max_length=7)
    name = models.CharField(max_length=75)
    university = models.CharField(max_length=4,
                                  editable=False,
                                  choices=UNIVERSITY_CHOICES)
    description = models.CharField(max_length=255, blank=True)
    creator = models.ForeignKey('userAuth.User',
                                on_delete=models.SET_NULL,
                                null=True,
                                editable=False,
                                related_name='course')
    posts = models.ArrayReferenceField(to='Post',
                                       on_delete=models.SET_NULL,
                                       blank=True,
                                       null=True,
                                       related_name='+')
    members = models.ArrayReferenceField(to='userAuth.User',
                                         on_delete=models.SET_NULL,
                                         blank=True,
                                         null=True,
                                         related_name='+')

    def __str__(self):
        return "{}: {}".format(self.university, self.courseCode)
コード例 #4
0
class Note(models.Model):
    title = models.CharField(
        'Название',
        max_length=100,
    )
    description = models.TextField(blank=True, null=True, default=None)
    theme = models.ArrayReferenceField(to=Theme,
                                       verbose_name='Тема заметки',
                                       on_delete=models.SET_NULL,
                                       blank=True,
                                       null=True,
                                       default=None)
    user = models.ArrayReferenceField(to=User,
                                      verbose_name='Автор заметки',
                                      validators=[
                                          validate_user_field,
                                      ])
    date = models.DateField(
        'Дата напоминания',
        blank=True,
        default=None,
        null=True,
    )
    time = models.TimeField(
        'Время напоминания',
        blank=True,
        default=None,
        null=True,
    )

    def __str__(self):
        return f'{self.title}'
コード例 #5
0
class Comment(models.Model):
    id = models.UUIDField(primary_key=True,
                          default=uuid.uuid4,
                          editable=False,
                          unique=True)
    author = models.ForeignKey('userAuth.User',
                               null=True,
                               on_delete=models.SET_NULL,
                               editable=False,
                               related_name='comment')
    dateTimePosted = models.DateTimeField(auto_now_add=True, editable=False)
    dateTimeEdited = models.DateTimeField(auto_now=True, null=True)
    parentPost = models.ForeignKey('Post',
                                   null=True,
                                   on_delete=models.CASCADE,
                                   editable=True,
                                   related_name='comment')
    content = models.OneToOneField(Content,
                                   on_delete=models.CASCADE,
                                   related_name='comment')
    points = models.IntegerField(default=0)
    likers = models.ArrayReferenceField(to='userAuth.User',
                                        on_delete=models.SET_NULL,
                                        blank=True,
                                        null=True,
                                        related_name='+')
    dislikers = models.ArrayReferenceField(to='userAuth.User',
                                           on_delete=models.SET_NULL,
                                           blank=True,
                                           null=True,
                                           related_name='+')

    def __str__(self):
        return "Reply to: {}".format(self.post.title)
コード例 #6
0
ファイル: models.py プロジェクト: Ashwin-Pokharel/dewi
class Classes(models.Model):
    class_id = models.UUIDField(primary_key=True,
                                blank=False,
                                default=uuid.uuid4,
                                editable=False)
    credit = models.IntegerField(blank=False, verbose_name='credit')
    section_id = models.PositiveSmallIntegerField(
        verbose_name="class section ID", blank=False)
    start_time = models.TimeField(auto_now=False,
                                  blank=False,
                                  verbose_name="class start time")
    end_time = models.TimeField(auto_now=False,
                                blank=False,
                                verbose_name="class end time")
    course_part = models.ForeignKey(to='Courses',
                                    on_delete=models.CASCADE,
                                    verbose_name='Course part')
    grade_scale = models.ForeignKey(to='GpaScale',
                                    on_delete=models.CASCADE,
                                    verbose_name='Grade Scale',
                                    blank=False)
    weights = models.ForeignKey(to='Weights',
                                on_delete=models.CASCADE,
                                verbose_name='Grade weights',
                                blank=False)
    students = models.ArrayReferenceField(to=Student, on_delete=models.CASCADE)
    teachers = models.ArrayReferenceField(to=Teacher, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.course_part) + '_' + str(self.section_id)
コード例 #7
0
class Concept(models.Model):
    _id = models.ObjectIdField(blank=True)
    name = models.CharField(max_length=255, unique=True)
    attributes = models.ArrayReferenceField(to=Attribute,
                                            default=list,
                                            blank=True)
    equations = models.ArrayReferenceField(to=Equation,
                                           default=list,
                                           blank=True)
コード例 #8
0
ファイル: article.py プロジェクト: riskboard/backend-api
class Article(models.Model):
    '''
  Defines the Article class. An article refers to
  a specific article, for example a Twitter article,
  a news article
  '''
    url = models.TextField(max_length=300)
    date = models.DateField(db_index=True)
    language = models.TextField(max_length=30)

    keywords = models.ArrayReferenceField(Keyword)
    gkg_themes = models.ArrayReferenceField(GKGTheme)
    actors = models.ArrayReferenceField(Actor)
コード例 #9
0
class Bio(models.Model):
    #kimble information
    name = models.CharField(max_length=100, default='')
    title = models.CharField(max_length=100, default='')
    url = models.TextField(blank=True, null=True)
    location = models.CharField(max_length=50, default='')
    email = models.TextField(blank=True, null=True)
    cost = models.FloatField(blank=True, null=True)
    cost_type = models.TextField(blank=True, null=True)
    assignments = models.ArrayReferenceField(to=Assignments,
                                             on_delete=models.DO_NOTHING,
                                             blank=True,
                                             null=True)
    #bio Information
    profile = models.TextField(blank=True, null=True)
    technical_skills = models.TextField(blank=True, null=True)
    skills = models.TextField(blank=True, null=True)
    education = models.TextField(blank=True, null=True)
    experience = models.TextField(blank=True, null=True)

    def __str__(self):
        return '{0},{1}'.format(self.name, self.title)

    @comparison_validator
    def __lt__(self, other):
        return self.name < other.name

    @comparison_validator
    def __gt__(self, other):
        return self.name > other.name
コード例 #10
0
class LectureGroups(models.Model):
    user = models.ForeignKey(AUTH_USER_MODEL, models.PROTECT, blank=False, null=False)
    groups_list = models.ArrayReferenceField(to=Group, on_delete=models.PROTECT, blank=True, null=True)
    objects = models.DjongoManager()

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
コード例 #11
0
class Entry(models.Model):
    #blog = models.EmbeddedField(model_container=Blog)
    #
    #blog = models.EmbeddedField(model_container=Blog,model_form_class=BlogForm)
    blog = models.ForeignKey(Blog, on_delete=models.CASCADE)
    headline = models.CharField(max_length=255)
    body_text = models.TextField()
    pub_date = models.DateField()
    mod_date = models.DateField(default=datetime.now, )
    authors = models.ArrayReferenceField(
        to=Author,
        on_delete=models.CASCADE,
    )
    n_comments = models.IntegerField(null=True, blank=True)
    n_pingbacks = models.IntegerField(null=True, blank=True)
    rating = models.IntegerField(null=True, blank=True)
    objects = models.DjongoManager()

    class Meta:
        ''
        #indexes = [TextIndex(fields=['headline', ])]
        #constraints = [CheckConstraint(check=Q(author_age__gte=18), name='age_gte_18')]

    def __str__(self):
        return self.headline
コード例 #12
0
ファイル: models.py プロジェクト: ngtom/PCubes-PADS2019
class Dimension(models.Model):
    name = models.CharField(max_length=255)
    # log = models.ForeignKey(to=EventLog, on_delete=models.CASCADE)
    cube = models.ForeignKey(to=ProcessCube,
                             on_delete=models.CASCADE,
                             related_name="dimensions")
    attributes = models.ArrayReferenceField(to=Attribute)

    def get_num_elements(self):
        num = 1
        for attr in self.attributes.all():
            step = 1

            if (attr.dtype == 'float' or attr.dtype == 'int'):
                hierarchy = self.num_hierarchy.filter(attribute=attr)
                if (hierarchy.exists()):
                    step = hierarchy[0].step_size
                else:
                    step = 1
            elif (attr.dtype == 'date'):
                hierarchy = self.date_hierarchy.filter(attribute=attr)
                if (hierarchy.exists()):
                    step = hierarchy[0].step_size
                else:
                    step = 1

            num_values = len(attr.values)

            num = num * math.ceil(num_values / step)

        return num
コード例 #13
0
class HEResearchArea(models.Model):
    class Meta:
        verbose_name_plural = "HE Research Areas"
        verbose_name = "HE Research Area"

    hecategory = models.ForeignKey(HECategory, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    gtrs = models.ArrayReferenceField(to=GTRCategory,
                                      on_delete=models.CASCADE,
                                      null=True,
                                      blank=True)
    objects = models.DjongoManager()

    def gtr_as_list(self):
        # Children query
        s = ''
        for g in self.gtrs.all():
            s = s + str(g.name) + " , "
        return str(s)

    def children(self):

        return str(self.gtrs.all().count())

    def __str__(self):
        return str(str(self.id) + "> " + self.name)
コード例 #14
0
ファイル: models.py プロジェクト: Ashwin-Pokharel/dewi
class StudentsAssignment(models.Model):
    student = models.OneToOneField(to=Student,
                                   on_delete=models.CASCADE,
                                   primary_key=True)
    assignments = models.ArrayReferenceField(to=Assignment,
                                             on_delete=models.CASCADE,
                                             blank=True)
コード例 #15
0
class ReferenceEntry(models.Model):
    _id = models.ObjectIdField()
    headline = models.CharField(max_length=255)
    authors = models.ArrayReferenceField(ReferenceAuthor)

    def __str__(self):
        return self.headline
コード例 #16
0
class ArrayRelationModel(models.Model):
    _id = models.ObjectIdField()
    int_val = models.IntegerField(default=-1234)
    arr_relation = models.ArrayReferenceField(to=ArrayRelatedModel,
                                              blank=True,
                                              on_delete=models.CASCADE)

    objects = models.DjongoManager()
コード例 #17
0
class Role(models.Model):
    role_name = models.CharField(max_length=150)
    role_description = models.CharField(max_length=250)
    afs = djongomodels.ArrayReferenceField(to=AF, on_delete=models.CASCADE)

    objects = djongomodels.DjongoManager()

    def __str__(self):
        return self.role_name
コード例 #18
0
class GF(models.Model):
    gf_name = models.CharField(max_length=150)
    gf_description = models.CharField(max_length=250)
    tfs = djongomodels.ArrayReferenceField(to=TF, on_delete=models.CASCADE)

    objects = djongomodels.DjongoManager()

    def __str__(self):
        return self.gf_name
コード例 #19
0
class Accounts(models.Model):
    
    _id = models.ObjectIdField()
    account_type = models.CharField(max_length=50)
    phone_number = models.CharField(max_length=50)
    plan_activated = models.ArrayReferenceField(to=Plans, on_delete=models.CASCADE, null=True, blank=True)
    current_usage = models.EmbeddedModelField(model_container = Costing, model_form_class=CostingForm)
    main_balance = models.FloatField()
    expiry = models.CharField(max_length=50)
    amount_due = models.FloatField()
    payment_deadline = models.CharField(max_length=50)
    proofs_attached = models.ArrayReferenceField(to=Proofs,
        on_delete=models.CASCADE, null=True, blank=True)
    circle = models.CharField(max_length=50)
    imei = models.CharField(max_length=50)

    def __str__(self):
        return str(self.account_type)
コード例 #20
0
ファイル: models.py プロジェクト: ABMicroBioinf/ebs-backend
class Analysis(models.Model):
    _id = models.ObjectIdField()
    name = models.CharField(max_length=100, unique=True)
    description = models.CharField(max_length=100, null=True, blank=True)
    input_sequences = models.ArrayReferenceField(to=Run)

    classify = models.EmbeddedField(model_container=Classification)

    def __str__(self):
        return self.name
コード例 #21
0
class Profile(models.Model):
    _id = models.ObjectIdField()
    owner = models.CharField(max_length=200)
    directory = models.ArrayReferenceField(
        to=Directory,
        on_delete=models.DO_NOTHING,
    )

    def __str__(self):
        return self.owner
コード例 #22
0
class choice(models.Model):
    _id = models.ObjectIdField(primary_key=True)
    question = models.ArrayReferenceField(to=polls)
    choice_text = models.CharField(max_length=20)
    votes = models.IntegerField(default=0)

    def __str__(self):
        return self.choice_text

    class Meta:
        db_table = "choice"
コード例 #23
0
ファイル: models.py プロジェクト: davidbest1882/PyBook
class Member(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL,on_delete = models.CASCADE)
    nickname = models.CharField(max_length=30)
    last_ipaddress = models.CharField(max_length=20, null=True)
    friend_list = models.ArrayReferenceField(to='self', null=True, blank=True, on_delete=models.CASCADE)
    objects = models.DjongoManager()

    def __str__(self):
        return self.nickname
    def get_absolute_url(self):
        return reverse('member_detail', kwargs={'pk': self.pk})
コード例 #24
0
ファイル: models.py プロジェクト: fkchaud/multiantiphona
class Celebration(models.Model):
    liturgical_season = models.CharField(
        choices=LiturgicalSeasons.choices,
        max_length=9,
    )
    name = models.CharField(max_length=40)
    antiphonas = models.ArrayReferenceField(
        to=Antiphona,
        on_delete=models.DO_NOTHING,
    )

    objects = SupportARFManager()
コード例 #25
0
class Migration(migrations.Migration):

    initial = True

    dependencies: list = []

    operations = [
        migrations.CreateModel(
            name='Antiphona',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('text',
                 djongo_models.JSONField(
                     default={},
                     validators=[
                         antiphona.validators.TypeValidator(dict),
                         antiphona.validators.KeysTypeValidator(str),
                         antiphona.validators.ValuesTypeValidator(str),
                         antiphona.validators.ValidKeyValidator(valid_keys={
                             'en_US', 'es_US', 'es_ES', 'es_AR', 'la', 'es_MX'
                         }, ),
                     ])),
                ('link', models.URLField()),
            ],
        ),
        migrations.CreateModel(
            name='Celebration',
            fields=[
                ('id',
                 models.AutoField(auto_created=True,
                                  primary_key=True,
                                  serialize=False,
                                  verbose_name='ID')),
                ('liturgical_season',
                 models.CharField(
                     choices=[('advent', 'Advent'), ('christmas', 'Christmas'),
                              ('lent', 'Lent'), ('easter', 'Easter'),
                              ('ordinary', 'Ordinary Time')],
                     max_length=9,
                 )),
                ('name', models.CharField(max_length=40)),
                ('antiphonas',
                 djongo_models.ArrayReferenceField(
                     on_delete=deletion.DO_NOTHING,
                     to='antiphona.Antiphona',
                 )),
            ],
        ),
    ]
コード例 #26
0
class Directory(models.Model):
    _id = models.ObjectIdField()
    directory_name = models.CharField(max_length=200)
    # user = models.EmbeddedModelField(model_container=User,)
    owner = models.CharField(max_length=200)
    file = models.ArrayReferenceField(
        to=File,
        on_delete=models.CASCADE,
    )

    def __str__(self):
        return self.directory_name
コード例 #27
0
class Competition(BaseModel):
    name = models.CharField(max_length=255, )
    date = models.DateTimeField(default=timezone.now)
    status = models.CharField(max_length=25, )
    phases = models.ArrayReferenceField(to=Phase,
                                        on_delete=models.CASCADE,
                                        blank=True)
    competitors = models.ArrayReferenceField(to=Competitor,
                                             on_delete=models.CASCADE,
                                             blank=True)
    open_inscription_during_competition = models.BooleanField(default=True)

    STATUS_CREATED = 'created'
    STATUS_STARTED_WITH_INSCRIPTION_OPEN = 'started_with_inscription_open'
    STATUS_STARTED = 'started'
    STATUS_FINISHED = 'finished'
    STATUSES = [
        STATUS_CREATED, STATUS_STARTED_WITH_INSCRIPTION_OPEN, STATUS_STARTED,
        STATUS_FINISHED
    ]

    objects = CompetitionManager()
コード例 #28
0
ファイル: models.py プロジェクト: wawel37/CookBook
class Dish(models.Model):
    name = models.CharField(max_length=40)
    author = models.CharField(max_length=40)
    types = models.ArrayField(model_container=TextElement,
                              model_form_class=TextForm)
    description = models.CharField(max_length=1000)
    Ingredients = models.ArrayField(model_container=Ingredient,
                                    model_form_class=IngredientForm)
    reviews = models.ArrayReferenceField(
        to=Review,
        on_delete=models.CASCADE,
    )
    img = models.CharField(max_length=100)
コード例 #29
0
ファイル: models.py プロジェクト: Fl0k3n/bazy2021
class Movie(models.Model):
    _id = models.ObjectIdField()
    title = models.CharField(max_length=200, unique=True, db_index=True)
    price = models.FloatField(db_index=True)
    categories = ArrayField(model_container=_Category, db_index=True)
    units_available = IntegerField(default=0)
    description = models.CharField(max_length=512)
    length = models.IntegerField()  # in seconds
    main_actors = models.ArrayReferenceField(to=Actor)
    production_date = models.DateField(db_index=True)
    director = models.EmbeddedField(model_container=Director)
    user_ratings_count = models.IntegerField(default=0)
    total_rates = models.IntegerField(default=0)
    image_src = models.CharField(max_length=256)
コード例 #30
0
class MusicMaps(models.Model):
    class OpenRange(models.IntegerChoices):
        PUBLIC = 0, 'Public'
        FOLLOW = 1, 'Follow'
        FOLLOW_BACK = 2, 'Follow Back'  # 맞팔로우
        PRIVATE = 4, 'Private'

    images = models.ArrayField(model_container=Image)
    content = models.TextField()
    date_created = models.DateTimeField(verbose_name='Date Created',
                                        default=timezone.now)
    date_updated = models.DateTimeField(verbose_name='Date Updated',
                                        default=timezone.now)
    open_range = models.IntegerField(choices=OpenRange.choices)
    comments_on = models.BooleanField()
    author = models.ForeignKey(User,
                               on_delete=models.CASCADE,
                               related_name='author')
    memorize_users = models.ArrayReferenceField(to=User,
                                                on_delete=models.CASCADE,
                                                related_name='memorize_users')
    location = models.EmbeddedField(model_container=Location)
    comments = models.ArrayReferenceField(to=Comment, on_delete=models.CASCADE)
    playlist = models.ArrayReferenceField(to=Music, on_delete=models.CASCADE)
    street_address = models.CharField(max_length=200)
    building_number = models.CharField(max_length=30)

    class Meta:
        ordering = ("date_updated", )

    @property
    def memorize_count(self):
        return self.memorize_users.all().count()

    @property
    def comments_count(self):
        return self.comments.all().count()