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'
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)
def test_SmallIntegerField(self): lazy_func = lazy(lambda: 1, int) self.assertIsInstance(SmallIntegerField().get_prep_value(lazy_func()), int)
def test_SmallIntegerField(self): self.assertIsInstance(SmallIntegerField().get_prep_value(1), int)
class Folio(models.Model): #tipo_mov - TipoMov num_folio = IntegerField() signo_stock = SmallIntegerField(default=1)
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'