class OEmbedCache(models.Model): url = models.URLField(_("URL"), unique=True) oembed = models.TextField(_("OEmbed HTML content")) modified = AutoLastModifiedField(_("Modified"), db_index=True) def __str__(self): return self.url
class Link(models.Model): id = models.UUIDField(primary_key=True, default=uuid4, editable=False) created = AutoCreatedField() modified = AutoLastModifiedField() title = models.CharField(max_length=128) url = models.URLField() imageUrl = models.URLField(default="") description = models.TextField(default="") order = models.IntegerField(default=1) objects = LinkManager() owner = models.ForeignKey("account.User", on_delete=models.CASCADE, related_name="links") list = models.ForeignKey(List, on_delete=models.CASCADE, related_name="links") class Meta: ordering = ("order", ) index_together = ("list", "order") def __str__(self): return f"<Link - {self.title}>"
class Model(models.Model): id = models.CharField(max_length=300, primary_key=True) name = models.CharField(max_length=300, blank=True) active = models.BooleanField() make = models.ForeignKey(Make, on_delete=models.PROTECT, related_name='models') created_at = AutoCreatedField() updated_at = AutoLastModifiedField()
class FilmWork(models.Model): id = models.UUIDField(primary_key=True, default=uuid4, editable=False, db_index=True) title = models.CharField(_('название'), max_length=255) description = models.TextField(_('описание'), blank=True) creation_date = models.DateField(_('дата создания фильма'), blank=True, null=True) certificate = models.TextField(_('сертификат'), blank=True, null=True) file_path = models.FileField(_('файл'), upload_to='film_works/', blank=True) rating = models.FloatField(_('рейтинг'), validators=[MinValueValidator(0)], blank=True, null=True) type = models.CharField(_('тип'), choices=FilmWorkType.choices, max_length=255) created_at = AutoCreatedField(_('добавлено')) updated_at = AutoLastModifiedField(_('обновлено')) class Meta: managed = False db_table = 'content"."film_work' # db_tablespace = 'content' verbose_name = _('кинопроизведение') verbose_name_plural = _('кинопроизведения') def __str__(self): return self.title
class Robot(models.Model): name = models.CharField("名字", max_length=20) pair = models.CharField("交易对", max_length=15) enable = models.BooleanField("启用", default=True) start_time = models.DateTimeField("启动时间", null=True) ping_time = models.DateTimeField("心跳时间", null=True) created_at = AutoCreatedField("创建于") modified_at = AutoLastModifiedField("修改于") credential = models.ForeignKey( "credentials.Credential", verbose_name="交易所凭据", blank=True, null=True, on_delete=models.SET_NULL, related_name="robots", ) user = models.ForeignKey( settings.AUTH_USER_MODEL, verbose_name="用户", on_delete=models.CASCADE, related_name="robots", ) class Meta: verbose_name = "机器人" verbose_name_plural = "机器人"
class Car(TimeStampedModel): id = models.UUIDField(verbose_name='ID', default=uuid.uuid4, editable=False, primary_key=True) active = models.BooleanField() year = models.SmallIntegerField(verbose_name='Year', validators=[MinValueValidator(1900)], blank=True, null=True) mileage = models.PositiveIntegerField() price = models.PositiveIntegerField() submodel = models.ForeignKey(Submodel, on_delete=models.PROTECT) body_type = models.CharField(max_length=300, blank=True) transmission = models.CharField(max_length=300, blank=True) fuel_type = models.CharField(max_length=300, blank=True) exterior_color = models.CharField(max_length=300, blank=True) created_at = AutoCreatedField() updated_at = AutoLastModifiedField() class Meta: verbose_name = 'car' verbose_name_plural = 'cars' @property def model(self): return self.submodel.model @property def make(self): return self.submodel.model.make
class Movie(models.Model): id = models.CharField(primary_key=True, max_length=40, default=hex_uuid, editable=False) title = models.TextField(blank=True, null=True) description = models.TextField(blank=True, null=True) director = models.TextField(blank=True, null=True) imdb_rating = models.DecimalField(max_digits=3, decimal_places=1, blank=True, null=True) genres = models.ManyToManyField(Genre, through='MovieGenre') actors = models.ManyToManyField(Actor, through='MovieActor') writers = models.ManyToManyField(Writer, through='MovieWriter') created_at = AutoCreatedField(_("created")) updated_at = AutoLastModifiedField(_("modified")) class Meta: managed = False db_table = 'movie' indexes = [models.Index(fields=['title'])] def __str__(self): return self.title
class TimeStampedModel(models.Model): """ An abstract base class model that provides self-updating ``created`` and ``modified`` fields. """ created = AutoCreatedField(_('created')) modified = AutoLastModifiedField(_('modified')) def save(self, *args, **kwargs): """ Overriding the save method in order to make sure that modified field is updated even if it is not given as a parameter to the update field argument. """ update_fields = kwargs.get('update_fields', None) if update_fields is not None: update_fields = set(update_fields) if update_fields: kwargs['update_fields'] = update_fields.union({'modified'}) super().save(*args, **kwargs) class Meta: abstract = True
class Package(models.Model): created = AutoCreatedField(db_index=True) modified = AutoLastModifiedField() name = models.SlugField(max_length=200, unique=True) #: Indicate if this package is local (a private package) is_local = models.BooleanField(default=False) #: Timestamp when we last retrieved the metadata update_timestamp = models.DateTimeField(null=True) owners = models.ManyToManyField(User) class Meta: ordering = ['name'] def __unicode__(self): return self.name @models.permalink def get_absolute_url(self): return ('packages:detail', None, {'name': self.name}) def get_all_releases(self): result = {} for release in self.releases.all(): files = dict((r.filename, r) for r in release.files.all()) result[release.version] = (release, files) return result @property def last_release(self): return self.releases.order_by('-created')[0]
class Modifiable(models.Model): """ """ modified = AutoLastModifiedField(_("modified")) class Meta: abstract = True
class SSHKey(models.Model): """ SSH Key model. """ name = models.CharField( _('SSH Key Name'), unique=True, null=False, max_length=32, blank=False, validators=[ MinLengthValidator(3), MaxLengthValidator(32), RegexValidator(regex='^[0-9A-Za-z\s_.-]+$', message=_('Only A-Za-z0-9\s_-. are allowed!')) ]) sshkey = models.TextField(_('SSH Key'), null=False, validators=[validate_sshkey]) created = AutoCreatedField(_('created')) updated = AutoLastModifiedField(_('updated')) class Meta: ordering = ['name'] def clean(self): self.name = self.name.strip() if self.sshkey: self.sshkey = self.sshkey.strip().rstrip() def ssh_key_entry(self): return self.sshkey + " " + self.name def __str__(self): return self.name def get_absolute_url(self): return reverse('sshkey_detail', kwargs={'pk': self.pk}) def sshkey_short(self): return self.sshkey[0:30] def all_as_array(): all = [] for key in SSHKey.objects.all(): all.append(key.name) return all def filename2name(filename): """ This method is used for import of SSH Keys from the Filesystem. It will return a useful clear name to insert it into DB from the filename of the Key. """ filename = filename.strip() filename = re.sub(r'\.pub$', '', filename) name = re.sub(r'(-|_|\.)', ' ', filename) return name.title()
class PyPIIndexPage(models.Model): created = AutoCreatedField("created", db_index=True) modified = AutoLastModifiedField("modified") content = models.TextField() def __unicode__(self): return "PyPI Index Page: %s" % self.created.isoformat()
class TimeStampedMixin(models.Model): """ Add timestamp control to a model. """ created_at = AutoCreatedField(_('criado em')) updated_at = AutoLastModifiedField(_('modificado em')) class Meta: abstract = True
class OpenGraphCache(models.Model): url = models.URLField(_("URL"), unique=True) title = models.CharField(_("Title"), max_length=256, blank=True) description = models.TextField(_("Description"), blank=True) image = models.URLField(_("Image URL"), blank=True) modified = AutoLastModifiedField(_("Modified"), db_index=True) def __str__(self): return "%s / %s" % (self.url, truncate_letters(self.title, 30))
class TimeStampedModel(models.Model): """ self-updating created and modified fields """ created = AutoCreatedField(_('created'), editable=False) modified = AutoLastModifiedField(_('modified'), editable=False) class Meta: abstract = True
class ReleaseFile(models.Model): TYPES = Choices( ('sdist', 'Source'), ('bdist_egg', 'Egg'), ('bdist_msi', 'MSI'), ('bdist_dmg', 'DMG'), ('bdist_rpm', 'RPM'), ('bdist_dumb', 'bdist_dumb'), ('bdist_wininst', 'bdist_wininst'), ('bdist_wheel', 'bdist_wheel'), ) created = AutoCreatedField() modified = AutoLastModifiedField() release = models.ForeignKey(Release, related_name="files") size = models.IntegerField(null=True) filetype = models.CharField(max_length=25, choices=TYPES) distribution = models.FileField(upload_to=release_file_upload_to, storage=DistributionStorage(), max_length=512) filename = models.CharField(max_length=200, blank=True, null=True) md5_digest = models.CharField(max_length=512) python_version = models.CharField(max_length=25) url = models.CharField(max_length=1024, blank=True) user = models.ForeignKey(User, null=True) class Meta: unique_together = ('release', 'filetype', 'python_version', 'filename') def __unicode__(self): return self.filename def get_absolute_url(self): url = reverse('packages:download', kwargs={ 'name': self.release.package.name, 'pk': self.pk, 'filename': self.filename }) return '%s#md5=%s' % (url, self.md5_digest) def save_filecontent(self, filename, fh): tmp_file = NamedTemporaryFile() copyfileobj(fh, tmp_file) self.distribution.save(filename, File(tmp_file))
class Job(models.Model): status = models.CharField(max_length=50, choices=JobStatus.CHOICES, default=JobStatus.PENDING) message = models.CharField(max_length=255, blank=True, null=True) created_at = AutoCreatedField(_("created"), db_index=True) updated_at = AutoLastModifiedField(_("modified"), db_index=True) class Meta: abstract = True
class BaseModel(models.Model): """Base TimeModel""" created = models.DateTimeField('Створено', default=timezone.now) modified = AutoLastModifiedField('Змінено') slug = models.SlugField('Посилання', unique=True, max_length=512) class Meta: abstract = True ordering = ('-created', )
class TimeStampedModel(models.Model): """ An abstract base class model that provides self-updating ``created`` and ``modified`` fields. """ created = AutoCreatedField(_('created'), editable=False) modified = AutoLastModifiedField(_('modified'), editable=False) class Meta: abstract = True
class Timestampable(models.Model): """ An abstract base class model that provides self-updating ``created`` and ``modified`` fields. """ created_at = AutoCreatedField(_('creation time')) updated_at = AutoLastModifiedField(_('last modification time')) class Meta: abstract = True
class BaseModel(models.Model): """ An abstract base class model that providers self-updating `created` and `modified` fields. """ date_added = AutoCreatedField(_('date added')) date_updated = AutoLastModifiedField(_('date updated')) class Meta: abstract = True
class Comment(models.Model): """A comment, can be used on a sighting.""" created = AutoCreatedField('created') modified = AutoLastModifiedField('modified') creator_email = models.EmailField(max_length=254) comment = models.TextField() tree = models.ForeignKey('Tree', on_delete=models.CASCADE) class Meta: abstract = True # Just testing for now
class Application(models.Model): id = models.BigAutoField(primary_key=True) created_at = AutoCreatedField(_('created at')) updated_at = AutoLastModifiedField(_('updated at')) name = models.CharField(_('name'), max_length=255, unique=True) is_active = models.BooleanField(_('is active'), default=True) class Meta: db_table = 'applications' verbose_name = _('application') verbose_name_plural = _('applications')
class UserProfile(UserenaBaseProfile): user = models.OneToOneField(User, unique=True, related_name='profile') passivetotal_key_api = EncryptedTextField(null=True, max_length=255) passivetotal_user = EncryptedEmailField(null=True, max_length=60) virustotal_key_api = EncryptedTextField(null=True, max_length=255) threshold_whois_distance = models.IntegerField(default=75, null=True) created_at = AutoCreatedField(_('created_at')) updated_at = AutoLastModifiedField(_('updated_at')) class Meta: db_table = 'manati_users_profiles'
class TimeStampedEditableModel(models.Model): """ An abstract base class model that provides self-updating ``created`` and ``modified`` fields. """ id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) created = AutoCreatedField(_('created'), editable=True) modified = AutoLastModifiedField(_('modified'), editable=True) class Meta: abstract = True
class Submodel(models.Model): id = models.CharField(max_length=300, primary_key=True) name = models.CharField(max_length=300, blank=True) active = models.BooleanField() model = models.ForeignKey(Model, on_delete=models.PROTECT, related_name='submodels') created_at = AutoCreatedField() updated_at = AutoLastModifiedField() @property def make(self): return self.model.make
class TimeStampedModel(models.Model): """ An abstract base class model that provides self-updating ``created`` and ``modified`` fields. """ created_at = AutoCreatedField() modified_at = AutoLastModifiedField() class Meta: abstract = True
class TimeStampedModel(models.Model): """ An abstract base class model that provides self-updating ``created_at`` and ``modified_at`` fields. taken from model_utils but added the '_at' suffix for field names """ created_at = AutoCreatedField(_('created at')) modified_at = AutoLastModifiedField(_('modified at')) class Meta: abstract = True
class Permission(models.Model): id = models.BigAutoField(primary_key=True) created_at = AutoCreatedField(_('created at')) updated_at = AutoLastModifiedField(_('updated at')) name = models.CharField(_('name'), max_length=255, unique=True) description = models.CharField(_('description'), max_length=255) roles = models.ManyToManyField(Role, through='RolePermissionAssociation') class Meta: db_table = 'permissions' verbose_name = _('permission') verbose_name_plural = _('permissions')
class Organization(models.Model): id = models.BigAutoField(primary_key=True) created_at = AutoCreatedField(_('created at')) updated_at = AutoLastModifiedField(_('updated at')) name = models.CharField(_('name'), max_length=255, unique=True) parent = models.ForeignKey('Organization', null=True, related_name='children') is_active = models.BooleanField(_('is active'), default=True) class Meta: db_table = 'organizations' verbose_name = _('organization') verbose_name_plural = _('organizations')