Пример #1
0
class RepoMetadata(models.Model):
    # created_at = models.DateTimeField(auto_now_add=True, auto_now=False)
    # updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
    commit_no = models.IntegerField(null=False, default=1)
    project_name = models.CharField(max_length=50, null=False)
    repo_name = models.CharField(max_length=50, null=False)
    author_name = models.CharField(max_length=20, null=True)
    commit_id = models.CharField(max_length=50, null=True)
    commit_date = models.DateTimeField(auto_now=False)
    commit_message = models.CharField(max_length=200, null=True)
    files = models.CharField(max_length=3000, null=True)

    # date=models.dateTimeField()

    class Meta:
        db_table = 'repo_metadata'

    def __str__(self):
        return self.repo_name
Пример #2
0
class ArrayEntry(models.Model):
    # blog = models.EmbeddedModelField(
    #     model_container=ArrayBlog,
    #     model_form_class=BlogForm
    # )
    # meta_data = models.EmbeddedModelField(
    #     model_container=ArrayMetaData,
    #     model_form_class=MetaDataForm
    # )

    headline = models.CharField(max_length=255)
    # body_text = models.TextField()

    authors = models.ArrayModelField(model_container=ArrayAuthor,
                                     model_form_class=AuthorForm)
    n_comments = models.IntegerField(default=2)

    def __str__(self):
        return self.headline
Пример #3
0
class Attendee(models.Model):
    _id = models.ObjectIdField(primary_key=True)
    userId = models.CharField(_("userId"),
                              max_length=255,
                              blank=False,
                              default="")
    gmtOffset = models.IntegerField()
    weekdayMorning = models.DateTimeField(auto_now_add=True, blank=True)
    weekdayEvening = models.DateTimeField(auto_now_add=True, blank=True)
    weekendMorning = models.DateTimeField(auto_now_add=True, blank=True)
    weekendEvening = models.DateTimeField(auto_now_add=True, blank=True)
    #devices = models.ArrayField(
    nextPush = models.DateTimeField(auto_now_add=True, blank=True)

    class Meta:
        db_table = "attendees"
        managed = False

    def __str__(self):
        return f'{self.userId},{self.weekdayMorning}'
Пример #4
0
class EmailSetting(models.Model):
    user = models.ForeignKey(User,
                             default=1,
                             null=True,
                             on_delete=models.CASCADE)
    notification_email = models.EmailField(default="*****@*****.**")
    smtp_server = models.CharField(default="smtp.gmail.com", max_length=32)
    server_port = models.IntegerField(default=587)
    login = models.EmailField(default="*****@*****.**")
    password = models.CharField(default="login_password", max_length=32)

    def as_json(self):
        doc = {
            "notification_email": self.notification_email,
            "smtp_server": self.smtp_server,
            "server_port": self.server_port,
            "login": self.login,
            "password": self.password
        }
        return doc
Пример #5
0
class Club_introduce(models.Model):
    number = models.CharField(max_length=5, default=None)
    region = models.CharField(max_length=25, default=None)
    target_choice = (("t1", "대학생"), ("t2", "직장인"), ("t3", "일반인"))
    target = models.CharField(max_length=10,
                              choices=target_choice,
                              default="t1")
    time = models.CharField(max_length=10, default=None)
    mainURL = models.URLField(max_length=200, default=None)
    detail = models.JSONField(default=[])
    poster = models.CharField(max_length=5, default=None)
    card_image = models.JSONField(default=[])
    club_id = models.IntegerField(default=0)
    type_choice = (("1", "면접전형"), ("2", "서류전형"), ("3", "면접+서류전형"))
    types = models.CharField(max_length=20, choices=type_choice, default="1")
    ci_id = models.CharField(unique=True,
                             primary_key=True,
                             max_length=15,
                             default=0)
    objects = models.DjongoManager()
Пример #6
0
class ServerConfig(models.Model):
    SERVERS = (("INFERENCE", "Inference Server"), ("CONVERSION",
                                                   "Conversion Server"))
    server_name = models.CharField(max_length=16, choices=SERVERS)
    url = models.CharField(max_length=32, default="http://127.0.0.1")
    port = models.IntegerField(default=8001)

    def __str__(self):
        return "{} on {}:{}".format(self.server_name, self.url, self.port)

    def as_json(self):
        doc = {
            "server_name": self.server_name,
            "url": self.url,
            "port": self.port
        }
        return doc

    def full_url(self):
        return "{}:{}".format(self.url, self.port)
Пример #7
0
class Club(models.Model):
    cc_id = models.IntegerField(unique=True, primary_key=True, default=0)
    name = models.CharField(max_length=15)
    information = models.CharField(max_length=30, null=True)
    category_choice = (("c1", "학술"), ("c2", "예술"), ("c3", "친목"), ("c4", "스포츠"),
                       ("c5", "여행"), ("c6", "종교"), ("c7", "봉사"), ("c8", "기타"))
    category = models.CharField(max_length=8,
                                choices=category_choice,
                                default="c1")
    foundationdate = models.JSONField(default=None)
    detail_information = models.TextField(max_length=300, default=None)
    self_image = models.CharField(max_length=10, default=None)
    card_image = models.JSONField(default=[])
    telephone = models.CharField(max_length=15, default=None)
    email = models.EmailField(default=None)
    #status
    objects = models.DjongoManager()

    def __str__(self):
        return str(self.cc_id)
Пример #8
0
class Producto(models.Model):
    descripcion = models.CharField(max_length=40)
    nombre = models.CharField(max_length=50)
    alturaTacon = models.FloatField(null=True, blank=True, default=None)
    tipo = models.CharField(max_length=50)
    forro = models.CharField(max_length=50)
    tacon = models.CharField(max_length=50)
    capellada = models.CharField(max_length=50)
    alturaSuela = models.FloatField(null=True, blank=True, default=None)
    color = models.CharField(max_length=50)
    peso = models.FloatField(null=True, blank=True, default=None)
    marca = models.CharField(max_length=50)
    plantilla = models.CharField(max_length=50)
    suela = models.CharField(max_length=50)
    ocasion = models.CharField(max_length=50)
    talla = models.IntegerField(null=True, blank=True, default=None)
    precio = models.FloatField(null=True, blank=True, default=0.0)

    def __str__(self):
        return '%s  %s %s %s %s %s' % (self.color, self.nombre, self.peso, self.alturaSuela, self.suela, self.precio)
Пример #9
0
class Activity(models.Model):
    _id = models.ObjectIdField(primary_key=True)
    userId = models.CharField(_("userId"),
                              max_length=255,
                              blank=False,
                              default="")
    type = models.CharField(_("userId"),
                            max_length=255,
                            blank=False,
                            default="")
    confidence = models.IntegerField()
    time = models.DateTimeField(auto_now_add=True, blank=True)
    resting = models.BooleanField(default=True)

    class Meta:
        db_table = "activities"
        managed = False

    def __str__(self):
        return f'{self.userId},{self.time}'
Пример #10
0
class Cliente(models.Model):
    nombre_apellido = models.CharField(max_length=200,
                                       verbose_name="Nombres y Apellidos",
                                       blank=False)
    ci_ruc = models.CharField(max_length=15,
                              verbose_name="C.I./R.U.C.",
                              blank=False)
    dig_verif = models.IntegerField(verbose_name="DIV", blank=True)
    tel_nro = models.CharField(max_length=20,
                               verbose_name="Número de Teléfono",
                               default='',
                               blank=True)
    direccion = models.CharField(max_length=200,
                                 verbose_name="Dirección part.",
                                 default='',
                                 blank=True)
    email = models.EmailField(max_length=50,
                              verbose_name="E-mail",
                              default='',
                              blank=True)
Пример #11
0
class GTRCategory(models.Model):
    class Meta:
        verbose_name_plural = "GtR Categories"
        verbose_name = "GtR Category"

    sid = models.CharField(max_length=255, null=True, blank=True, default='')
    name = models.CharField(max_length=255)
    percentage = models.IntegerField(null=True, blank=True, default=0)
    isHECategory = models.BooleanField(null=False, default=False)

    objects = models.DjongoManager()

    def areas_as_list(self):
        # Reverse lookup
        s = ''
        for g in HEResearchArea.objects.filter(gtrs__id=self.id):
            s = s + str(g.name) + " , "
        return str(s)

    def __str__(self):
        return str(str(self.id) + "> " + self.name)
Пример #12
0
class DefenderProcessRule(models.Model):
    job_id = models.TextField()
    expiration_date = models.DateTimeField(auto_now_add=True)
    rule_id = models.IntegerField()
    rule_key = models.TextField(default="")
    data = models.DictField(default={})

    objects = models.DjongoManager()

    def __init__(self, *args, ** kwargs):
        DefenderProcessRule.objects._client.ensure_index('expiration_date', expireAfterSeconds=10 * 60)
        super(DefenderProcessRule, self).__init__(*args, **kwargs)

    def to_dict(self):
        return {
            "job_id": self.job_id,
            "expiration_date": self.expiration_date,
            "rule_id": self.rule_id,
            "rule_key": self.rule_key,
            "data": self.data
        }
Пример #13
0
class Cafe(mongo_models.Model):
    _id = mongo_models.CharField(max_length=512)
    create_dt = mongo_models.DateTimeField()
    update_dt = mongo_models.DateTimeField()
    data_id = mongo_models.IntegerField()
    start_hours = mongo_models.CharField(max_length=512)
    end_hours = mongo_models.CharField(max_length=512)
    location = mongo_models.EmbeddedField(model_container=Location,
                                          null=True,
                                          blank=True)
    name = mongo_models.CharField(max_length=512)
    parcel_addr = mongo_models.CharField(max_length=512)
    phone = mongo_models.CharField(max_length=32)
    road_addr = mongo_models.CharField(max_length=512)
    tags = mongo_models.CharField(max_length=512)

    objects = mongo_models.DjongoManager()

    class Meta:
        app_label = 'MongoDB'
        db_table = 'cafe'
Пример #14
0
class Movie(models.Model):
    movie_name = models.CharField(max_length=255)
    movie_poster = models.URLField()  #! Should use image field
    genre = models.ManyToManyField(Genre)
    description = models.CharField(max_length=255)
    trailer_link = models.URLField()  #! Should use File filed
    movie_link = models.URLField()  #! Should use File field
    movie_length = models.TimeField()
    cast = models.ArrayField(
        model_container=Cast)  #? Don't now if array field work for image.
    language = models.ManyToManyField(Language)
    aired = models.DateField()
    review_ID = models.IntegerField()
    rating_info = models.FloatField()
    production_Company = models.CharField(max_length=255)
    gallery = models.ManyToManyField(Gallery)

    objects = models.DjongoManager()

    def __str__(self):
        return self.movie_name
Пример #15
0
class Elevator(models.Model):
    unit_number = models.CharField(max_length=10,
                                   blank=True,
                                   verbose_name='梯号')
    tsb_regcode = models.CharField(max_length=20,
                                   blank=True,
                                   verbose_name='TSB电梯识别码')
    unit_regcode = models.CharField(max_length=50,
                                    blank=True,
                                    verbose_name='设备注册代码')
    branch = models.IntegerField(choices=branch,
                                 blank=True,
                                 null=True,
                                 verbose_name='分公司')
    city = models.ForeignKey(TSBCity,
                             null=True,
                             on_delete=models.CASCADE,
                             verbose_name='城市')

    def __str__(self):
        return self.unit_number
Пример #16
0
class Lembrete(models.Model):
    options = [
        ('d', 'Diário'),
        ('s', 'Semanal'),
        ('m', 'Mensal'),
    ]

    objects = models.Manager()
    titulo = models.CharField(max_length=200)
    mensagem = models.TextField()
    url_name = models.CharField(max_length=100)
    periodicidade = models.CharField(max_length=2, choices=options)
    dia = models.IntegerField(
        validators=[MinValueValidator(1), MaxValueValidator(31)],
        help_text="Semanal: indique o dia da semana(0=domingo, 1=segunda,...). Mensal: caso não haja tal dia em algum mês(30, 31), o lembrete será exibido no último dia do mês"
    )
    mostrado_esse_mes = models.BooleanField(default=False)
    criado_em = models.DateTimeField(auto_now_add=True)
    modificado_em = models.DateTimeField(auto_now=True)

    @property
    def is_valid(self):
        is_valid = False
        hoje = timezone.now()
        weekday = hoje.weekday()
        if not self.mostrado_esse_mes:
            # aqui a lógica muda dependendo da periodicidade
            if self.periodicidade == 'm':
                if weekday >= self.dia:
                    is_valid = True
            elif self.periodicidade == 's':
                if self.dia <= weekday < 6:
                    is_valid = True
            elif self.periodicidade == 'd':
                if hoje.hour == self.day:
                    is_valid = True
        return is_valid

    class Meta:
        ordering = ['dia']
Пример #17
0
class Question(models.Model):
    _id = models.ObjectIdField()
    formulation = models.CharField('Формулировка вопроса', max_length=1_000)
    multiselect = models.BooleanField('Вопрос с мультивыбором')
    tasks_num = models.IntegerField('Число вариантов ответа')
    test = models.ForeignKey(Test,
                             verbose_name='Тест',
                             related_name='questions',
                             on_delete=models.CASCADE,
                             default=DEFAULT_TEST_ID)
    options = models.ArrayField(model_container=QuestionOption)
    type = models.CharField('Тип вопроса', max_length=50)
    objects = models.DjongoManager()

    @property
    def object_id(self):
        return self._id

    @classmethod
    def parse_options(cls, options: List[Dict[str,
                                              Any]]) -> List[Dict[str, Any]]:
        return [{
            'option': option['option'],
            'is_true': option['is_true'],
            'num': option.get('num')
        } for option in options]

    class Type:
        """
        Class for storing various questions types
        """
        REGULAR = ''
        WITH_IMAGES = 'image'
        SEQUENCE = 'sequence'
        SEQUENCE_WITH_IMAGES = 'sequence-image'

    class Meta:
        db_table = 'questions'
        verbose_name = 'Вопрос'
        verbose_name_plural = 'Вопросы'
Пример #18
0
class Container(models.Model):
    title = models.CharField(max_length=100)
    enabled = models.BooleanField(default=True)
    mode = models.IntegerField(default=QUIET_MODE)
    private = models.BooleanField(
        default=False
    )  # if is private you have to check the authorization group
    authorization_group = None

    authors = models.OneToOneField(
        to=Author,
        on_delete=models.CASCADE,
    )
    date_creation = models.DateTimeField(auto_now_add=True)

    sentences = models.ArrayModelField(model_container=Collection, )

    created_on_datetime = models.DateField()
    last_edit_datetime = models.DateField()

    def __str__(self):
        return self.title
Пример #19
0
class Plasmid(models.Model):
    id = models.CharField(primary_key=True, max_length=100)
    assembly = models.OneToOneField(
        Assembly,
        on_delete=models.CASCADE,
    )

    num_found = models.IntegerField()
    profile = models.ArrayField(model_container=Plasmidhit)
    owner = models.ForeignKey(Account,
                              related_name="plasmids",
                              on_delete=models.CASCADE)
    DateCreated = models.DateTimeField(verbose_name='date created',
                                       auto_now=True)
    LastUpdate = models.DateTimeField(verbose_name='last update',
                                      auto_now=True)
    Description = models.TextField()

    objects = models.DjongoManager()

    def __str__(self):
        return str(self.id)
Пример #20
0
class Entry(models.Model):
    blog = models.EmbeddedModelField(model_container=Blog,
                                     # model_form_class=BlogForm
                                     )
    meta_data = models.EmbeddedModelField(model_container=MetaData, )

    headline = models.CharField(max_length=255)
    body_text = models.TextField()

    # authors = models.ManyToManyField(Author)

    authors = models.ArrayModelField(model_container=Author, )

    n_comments = models.IntegerField()

    # Failed!!!
    # test_int_list = models.ArrayModelField(
    #     model_container=models.IntegerField(), default=None, blank=True, null=True,
    # )

    def __str__(self):
        return self.headline
Пример #21
0
class Client(AbstractUser):
    _id = models.ObjectIdField()
    first_name = models.CharField(max_length=20, default="Anonymous")
    middle_name = models.CharField(max_length=20, blank=True, default="")
    last_name = models.CharField(max_length=20, default="")

    email = models.EmailField(
        verbose_name="email", max_length=70, unique=True, blank=False
    )
    phone = models.CharField(max_length=10, blank=True, default="")
    security_code = models.CharField(max_length=6, blank=True)

    street = models.CharField(max_length=150, blank=True, default="")
    city = models.CharField(max_length=50, blank=True, default="")
    state = models.CharField(max_length=50, blank=True, default="")
    zip_code = models.CharField(max_length=6, blank=True, default="")

    username = None
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    session_token = models.CharField(max_length=10, default=0)

    status = models.IntegerField(blank=True, default=0)

    id_proof = models.FileField(storage=GridFSStorage(collection='id_proof'), null=True, blank=True)

    letter_sub_url = models.URLField(max_length=500, blank=True, default='')
    rzp_customer_id = models.CharField(max_length=500, blank=True, default='')

    USERNAME_FIELD = "email"
    REQUIRED_FIELDS = []

    @property
    def full_name(self):
        return '%s %s %s' % (self.first_name, self.middle_name, self.last_name)

    def __str__(self):
        return self.email
Пример #22
0
class Recipe(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    name = models.CharField(max_length=300, null=False, default=None)
    description = models.TextField(null=False, default=None)
    instructions = models.TextField(null=False, default=None)
    ingredients = models.ArrayField(model_container=Ingredient, )
    image_url = models.URLField(default=None)
    course_type = models.CharField(max_length=150, null=False, default=None)
    difficulty = models.CharField(max_length=100)
    cooking_method = models.CharField(max_length=150, null=False, default=None)
    cost = models.CharField(max_length=100)
    is_vegetarian = models.BooleanField(null=True)
    n_reviews = models.IntegerField(default=0)
    average_rating = models.FloatField(default=0)

    objects = models.DjongoManager()

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse("recipe_detail", args=[self.id])
Пример #23
0
class Transaction(models.Model):
    scenario = models.ForeignKey(Scenario, on_delete=models.CASCADE)
    Name = models.CharField(max_length=100)
    Timestamp = models.BigIntegerField(default=0)
    Avg_time = models.FloatField(default=0)
    Txs_count = models.IntegerField(default=0)
    Type = models.CharField(max_length=100)

    # VuserGroup = models.CharField(max_length=100)
    # Type = models.IntegerField(default=0)
    # StartTime = models.FloatField(default=0.0)
    # EndTime = models.FloatField(default=0.0)
    # AverageTime = models.FloatField(default=0.0)
    # ThinkTime = models.FloatField(default=0.0)
    # WastedTime = models.FloatField(default=0.0)
    # Status = models.IntegerField(default=0)
    # InstanceHandle = models.BigIntegerField(default=0)
    # ParentHandle = models.BigIntegerField(default=0)
    # VuserID = models.IntegerField(default=0)

    def __str__(self):
        return self.Name
Пример #24
0
class CoffeeMachine(models.Model):

    TYPE_CHOICES = (('CM1', 'COFFEE_MACHINE_LARGE'),
                    ('CM0', 'COFFEE_MACHINE_SMALL'), ('EM0',
                                                      'ESPRESSO_MACHINE'))

    MODEL_CHOICES = ((1, 'BASE_MODEL'), (2, 'PREMIUM_MODEL'), (3,
                                                               'DELUXE_MODEL'))

    product_type = models.CharField(choices=TYPE_CHOICES, max_length=3)
    water_line_compatible = models.BooleanField()
    model_type = models.IntegerField(choices=MODEL_CHOICES)
    sku = models.CharField(editable=False, max_length=5, blank=True)

    def save(self, *args, **kwargs):
        _sku = self.product_type + '0' + str(self.model_type)
        self.sku = _sku

        super(CoffeeMachine, self).save(*args, **kwargs)

    def __str__(self):
        return self.sku
Пример #25
0
class UserProfileInfo(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    age = models.IntegerField(
        validators=[MaxValueValidator(100),
                    MinValueValidator(1)])
    gender_choice = [('M', 'Male'), ('F', 'Female'), ('O', 'Other')]
    c = list(ci)
    name = []
    for i in c:
        name.append(i.name)
    country_choice = [(x, x) for x in name]
    gender = models.CharField(max_length=1, choices=gender_choice)
    country = models.CharField(max_length=100, choices=country_choice)
    occupation = models.CharField(max_length=100)
    social = models.IntegerField(default=0)
    entertainment = models.IntegerField(default=0)
    ecommerce = models.IntegerField(default=0)
    education = models.IntegerField(default=0)
    transport = models.IntegerField(default=0)
    food = models.IntegerField(default=0)
    mail = models.IntegerField(default=0)

    def __str__(self):
        return self.user.username
Пример #26
0
class Post(models.Model):
    id = models.UUIDField(primary_key=True,
                          default=uuid.uuid4,
                          editable=False,
                          unique=True)
    title = models.CharField(max_length=70)
    author = models.ForeignKey('userAuth.User',
                               null=True,
                               on_delete=models.SET_NULL,
                               editable=False,
                               related_name='post')
    dateTimePosted = models.DateTimeField(auto_now_add=True, editable=False)
    dateTimeEdited = models.DateTimeField(auto_now=True, null=True)
    course = models.ForeignKey('Course',
                               on_delete=models.CASCADE,
                               related_name='post')
    content = models.OneToOneField(Content,
                                   on_delete=models.CASCADE,
                                   related_name='post')
    comments = models.ArrayReferenceField(to='Comment',
                                          on_delete=models.SET_NULL,
                                          blank=True,
                                          null=True,
                                          related_name='+')
    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 "{}: {}".format(self.title, self.contentType)
Пример #27
0
class OrderItem(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL,
                             on_delete=models.CASCADE)
    ordered = models.BooleanField(default=False)
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    quantity = models.IntegerField(default=1)

    def __str__(self):
        return f"{self.quantity} of {self.product.name}"

    def get_total_price(self):
        return self.quantity * self.product.price

    def get_total_discount_price(self):
        return self.quantity * self.product.discount_price

    def get_amount_saved(self):
        return self.get_total_price() - self.get_total_discount_price()

    def get_final_price(self):
        if self.product.discount_price:
            return self.get_total_discount_price()
        return self.get_total_price()
Пример #28
0
class Entry(models.Model):
    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()
    authors = models.ManyToManyField(Author)
    rating = models.IntegerField()
    featured_image = models.ImageField(upload_to='entries',
                                       storage=gridfs_storage)

    def __str__(self):
        return self.headline

    def get_absolute_url(self):
        return reverse('detail', args=(str(self.pk)))

    def save(self, *args, **kwargs):
        """ on save, update timestamps, instead of auto_now field args """
        if not self.pk:
            self.pub_date = timezone.now()
        self.mod_date = timezone.now()
        return super().save(*args, **kwargs)
Пример #29
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()
Пример #30
0
class LedgerData(models.Model):

    class Meta:
        ordering = ['l_r_date', 'id']
        unique_together = ('user', 'l_r_no')

    user         = models.ForeignKey(User, on_delete=models.CASCADE)
    l_r_no       = models.CharField(max_length=255)
    l_r_date     = models.DateField(blank=True, null=True)
    bale_no      = models.CharField(blank=True, null=True, max_length=255)
    supplier     = models.CharField(blank=True, null=True, max_length=255)
    location     = models.CharField(blank=True, null=True, max_length=255)
    item         = models.CharField(blank=True, null=True, max_length=255)
    pcs_mtr      = models.FloatField(blank=True, null=True)
    price        = models.FloatField(default=0, blank=True)
    weight       = models.CharField(blank=True, null=True, max_length=255)
    frieght      = models.FloatField(blank=True, null=True)
    transport    = models.CharField(blank=True, null=True, max_length=255)
    delivery     = models.DateField(blank=True, null=True)
    reciept      = models.CharField(blank=True, null=True, max_length=255)
    remark       = models.CharField(blank=True, null=True, max_length=255)
    status       = models.BooleanField(default=False)
    hsn_code     = models.CharField(blank=True, null=True, max_length=255)
    bill_ammount = models.FloatField(blank=True, null=True)
    no_of_bale   = models.IntegerField(default=1, blank=True)

    def __str__(self):
        return f'{self.user} - {self.l_r_no}'
    
    def save(self, *args, **kwargs):
        if self.pcs_mtr and self.bill_ammount and self.frieght:
            self.price = (self.bill_ammount+self.frieght)/self.pcs_mtr
            self.price = round(self.price, 2)
            
        if self.reciept!=None and self.delivery!=None:
            self.status= True
        super(LedgerData, self).save(*args, **kwargs)