Esempio n. 1
0
class BookStats(models.Model):
    id = models.SmallIntegerField(primary_key=True)
    categories = SmallIntegerField()
    books = SmallIntegerField()
    authors = SmallIntegerField()
    links = SmallIntegerField()

    class Meta:
        managed = False
        db_table = 'book_stats'
Esempio n. 2
0
class Question(Model):
    """Poll Question model."""

    text = TextField(max_length=4098)
    q_type = SmallIntegerField(default=QuestionType.ARBITRARY)
    poll = ForeignKey(Poll, related_name='questions', on_delete=CASCADE)
Esempio n. 3
0
 def test_SmallIntegerField(self):
     lazy_func = lazy(lambda: 1, int)
     self.assertIsInstance(SmallIntegerField().get_prep_value(lazy_func()),
                           int)
Esempio n. 4
0
 def test_SmallIntegerField(self):
     self.assertIsInstance(SmallIntegerField().get_prep_value(1), int)
Esempio n. 5
0
class Folio(models.Model):
    #tipo_mov - TipoMov
    num_folio = IntegerField()
    signo_stock = SmallIntegerField(default=1)
Esempio n. 6
0
class Photo(QuicksellModel):
	"""Listing's Photo model."""

	listing = ForeignKey('Listing', related_name='photos', on_delete=CASCADE)
	image = ImageField(upload_to='images/listings/')
	order = SmallIntegerField(default=0)
class NavbarLink(Model):
    display_name = CharField(max_length=50, verbose_name='Display Name')
    permission_classes = ManyToManyField(PermissionClass,
                                         verbose_name='Permission Classes',
                                         blank=True)
    show_to_all = BooleanField(verbose_name='Show To All Users', default=False)
    icon = CharField(max_length=100,
                     verbose_name='Icon Static File Location',
                     blank=True,
                     null=True)
    sequence_index = SmallIntegerField(verbose_name='Sequence Index')
    parent_group = ForeignKey('NavbarLink',
                              related_name='links',
                              blank=True,
                              null=True,
                              verbose_name='Parent Link Group',
                              on_delete=CASCADE)

    external_url = URLField(verbose_name='URL', blank=True, null=True)
    url_name = CharField(max_length=100, blank=True, null=True)
    onclick = CharField(max_length=200,
                        blank=True,
                        null=True,
                        verbose_name='Onclick Handler')

    def __str__(self):
        return self.display_name

    def clean(self):
        if self.url_name and self.external_url:
            raise ValidationError(
                'Navbar Links should have either a url name or an external url, not both.'
            )

        if self.url_name:
            try:
                reverse(self.url_name)
            except NoReverseMatch:
                raise ValidationError(
                    'URL Name could not be resolved. Please enter a valid URL Name.'
                )

    @cached_property
    def url(self):
        url = ''

        if self.url_name:
            try:
                url = reverse(self.url_name)
            except NoReverseMatch:
                logger.warning('Could not resolve ``' + self.url_name +
                               '`` for navbar link ' + self.display_name,
                               exc_info=True)
                pass
        else:
            url = self.external_url

        return url

    @cached_property
    def is_link_group(self):
        return NavbarLink.objects.filter(parent_group__id=self.id).exists()

    @cached_property
    def html_id(self):
        return self.display_name.lower().replace(' ', '_')

    @cached_property
    def target(self):
        return '_blank' if self.external_url else '_self'