Beispiel #1
0
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
Beispiel #2
0
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}>"
Beispiel #3
0
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()
Beispiel #4
0
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
Beispiel #5
0
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 = "机器人"
Beispiel #6
0
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
Beispiel #7
0
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
Beispiel #8
0
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
Beispiel #9
0
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]
Beispiel #10
0
class Modifiable(models.Model):
    """
    """

    modified = AutoLastModifiedField(_("modified"))

    class Meta:
        abstract = True
Beispiel #11
0
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()
Beispiel #12
0
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()
Beispiel #13
0
class TimeStampedMixin(models.Model):
    """
    Add timestamp control to a model.
    """
    created_at = AutoCreatedField(_('criado em'))
    updated_at = AutoLastModifiedField(_('modificado em'))

    class Meta:
        abstract = True
Beispiel #14
0
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
Beispiel #16
0
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))
Beispiel #17
0
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
Beispiel #18
0
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', )
Beispiel #19
0
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
Beispiel #20
0
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
Beispiel #21
0
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
Beispiel #22
0
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
Beispiel #23
0
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')
Beispiel #24
0
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'
Beispiel #25
0
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
Beispiel #26
0
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
Beispiel #28
0
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
Beispiel #29
0
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')
Beispiel #30
0
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')