class Project(models.Model): title = models.CharField(max_length=100) raisedAmount = models.FloatField(default=0.0) targetAmount = models.FloatField(default=0.0) place = models.CharField(max_length=30) description = models.TextField(null=True, blank=True) enlistDate = models.DateTimeField(default=timezone.now) offlistDate = models.DateTimeField() field_partner = models.ForeignKey(FieldPartner, null=True) product = models.ForeignKey(Product, null=True) image_url = S3DirectField(dest='project_img', max_length=64, null=True, blank=True) customer_story = models.TextField(null=True, blank=True) customer_img = S3DirectField(dest='customer_img', max_length=64, null=True, blank=True) terms = models.ForeignKey(LoanTerm, null=True) def raiseAmount(self, amount=None): self.raisedAmount += amount return self def __unicode__(self): return self.title
class Logo(models.Model): logo = S3DirectField(dest="media") favicon = S3DirectField(dest="media") def clean(self): if Logo.objects.exists() and not self.pk: raise ValidationError("Only one instance of Logo can be made.")
class Kitten(models.Model): mother = models.ForeignKey('Cat') video = S3DirectField(dest='vids', blank=True) image = S3DirectField(dest='imgs', blank=True) pdf = S3DirectField(dest='files', blank=True) def __unicode__(self): return str(self.video)
class PhilipsAwsData(TempData): philips_raw_file = S3DirectField(dest='uploads') philips_sin_file = S3DirectField(dest='uploads') philips_lab_file = S3DirectField(dest='uploads') def __str__(self): return str(self.philips_raw_file).split('/')[-1] def delete(self, *args, **kwargs): delete_aws_file(os.path.join('uploads/', str(self.philips_raw_file))) delete_aws_file(os.path.join('uploads/', str(self.philips_sin_file))) delete_aws_file(os.path.join('uploads/', str(self.philips_lab_file))) super().delete(*args, **kwargs)
class Car(models.Model): name = models.CharField(max_length=255, blank=False, null=False) year_of_manufacture = models.CharField(max_length=255, blank=False, null=False) price = models.CharField(max_length=255, blank=False, null=False) image = S3DirectField(dest='primary_destination', blank=True) video = S3DirectField(dest='primary_destination', blank=True) def __str__(self): """ Return a string representation of the model instance """ return f"{self.name} ({self.year_of_manufacture}) - {self.price}"
class Post(models.Model): date = models.DateField() title_en = models.CharField(max_length=200, null=True, blank=True) title_el = models.CharField(max_length=200, null=True, blank=True) slug = models.CharField(max_length=100) author = models.ForeignKey( User, on_delete=models.SET_NULL, null=True, ) teaser_en = models.TextField(null=True, blank=True) teaser_el = models.TextField(null=True, blank=True) image = S3DirectField(dest='uploads') body_en = RichTextField(null=True, blank=True) body_el = RichTextField(null=True, blank=True) is_featured = models.BooleanField(default=False) objects = models.Manager() el_objects = ElPostManager() en_objects = EnPostManager() def __str__(self): if not self.title_en and not self.title_el: return date.strftime('%x') else: if self.title_en: return self.title_en else: return self.title_el return 'no_title'
class Response(TimeStampedModel): fqhc = models.ForeignKey(FQHC) subrequirement = models.ForeignKey(SubRequirement) response = models.NullBooleanField() pdf = S3DirectField(dest=os.environ.get('AWS_STORAGE_BUCKET_NAME')) expiration = models.DateField() signed = models.DateField()
class Puzzle(models.Model): name = models.CharField(max_length=256, default='') released_at = models.DateTimeField(help_text='When do you want this puzzle to release at?') puzzle = S3DirectField(dest='puzzles', unique=True) def __unicode__(self): return self.name
class File(TimeStampedModel): ct = models.ForeignKey(ContentType, related_name="files") label = models.CharField( max_length=100, blank=True, null=True, help_text="The title of the document") item = S3DirectField( dest='files', help_text="Valid formats are acceptable: PDF, Excel, Word, PPT", blank=True, null=True) affirmation = models.BooleanField( 'Affirmation of Ownership', default=False, help_text=AFFIRMATION) class Meta: verbose_name = 'Additional File' verbose_name_plural = 'Additional Files' def __str__(self): return self.label or 'File object' def get_filename(self): if self.item: p = urlparse(self.item) try: return p.path.split("/")[-1] except: pass return "No Name"
class Senator(models.Model): """ Model to store a senator """ GRADE_LEVEL_CHOICES = ( (9, '9'), (10, '10'), (11, '11'), (12, '12') ) POSITION = ( ('President', 'President'), ('Vice-President', 'Vice-President'), ('Secretary', 'Secretary'), ('Senator', 'Senator') ) name = models.CharField(max_length=140, default='AlphaTrion') grade = models.PositiveIntegerField(choices=GRADE_LEVEL_CHOICES) email = models.EmailField(max_length=254) position = models.CharField(max_length=14, choices=POSITION, default='Senator') photo = S3DirectField(dest='images') def __str__(self): return self.name class Meta: ordering = ["-grade", "name"]
class PimpUser(AbstractEmailUser): MARKETER = 0 CAUSE = 1 USER_TYPE_CHOICES = ((MARKETER, "Marketer"), (CAUSE, "Cause")) # basic info name = models.CharField(max_length=24, blank=True) surname = models.CharField(max_length=24, blank=True) phone = models.CharField(max_length=15, blank=True) country = CountryField(blank=True) city = models.CharField(max_length=85, blank=True) postcode = models.CharField(max_length=12, blank=True) # professional info position = models.CharField(max_length=100, blank=True) usertype = models.IntegerField(choices=USER_TYPE_CHOICES, null=True) bio = models.CharField(max_length=1000, blank=True) # social accounts twitter = models.URLField(max_length=100, blank=True) linkedin = models.URLField(max_length=100, blank=True) website = models.URLField(max_length=100, blank=True) image = S3DirectField(dest='user-profile-images', blank=True)
class Platerawvideo(models.Model): #platerawvideokey = models.IntegerField(db_column='PlateRawVideoKey', primary_key=True) platekey = models.ForeignKey(Plate, db_column='PlateKey') def get_subclass_name(self): return self.__class__.__name__ timestamp = models.DateTimeField(db_column="Timestamp", auto_now_add=True) name = models.CharField(db_column='Name', max_length=100) description = models.CharField(db_column='Description', max_length=500, blank=True) title = models.CharField(db_column='Title', max_length=20, blank=True) shorttitle = models.CharField(db_column='ShortTitle', max_length=20, blank=True) videofile = S3DirectField(dest='destination_key_from_settings') fps = models.IntegerField(db_column='FPS', blank=True, null=True) numframes = models.FloatField(db_column='NumFrames', blank=True, null=True) width = models.IntegerField(db_column='Width', blank=True, null=True) height = models.IntegerField(db_column='Height', blank=True, null=True) micronsperpixel = models.IntegerField(db_column='MicronsPerPixel', blank=True, null=True) class Meta: db_table = 'PlateRawVideo'
class Upload(models.Model): name = models.CharField(max_length=64) date_created = models.DateTimeField(auto_now_add=True) upload_file = S3DirectField(dest='uploads') def __unicode__(self): return u'{name}'.format(name=self.name)
class Profile(models.Model): # Relations user = models.ForeignKey(User, related_name="Profiles", on_delete=models.CASCADE, blank=False) friends = models.ManyToManyField('Profile', related_name='Friends') avatar = S3DirectField(dest='avatars', null=True, blank=True) # User Preferences dark_mode = models.BooleanField(default=False) # Premium premium = models.BooleanField(default=False) premium_start = models.DateTimeField(blank=True, null=True) # System email_confirmed = models.BooleanField(default=False) archived = models.BooleanField(default=False) date_created = models.DateTimeField(auto_now_add=True, blank=False) date_modified = models.DateTimeField(auto_now=True, blank=False) def __str__(self): return self.user.username
class Contact(models.Model): title = models.CharField(max_length=40) description = models.TextField() image = S3DirectField(dest=os.environ.get('AWS_STORAGE_BUCKET_NAME'), blank=True, null=True) motive = models.ForeignKey(Motive) def get_title(self): return self.title def get_description(self): return self.description def __str__(self): return self.title def get_image_url(self): if not self.image: '''You need to add a default photo''' return '' return self.image def get_motive(self): return self.motive
class ProductImages(models.Model): product = models.ForeignKey(Product, related_name='prod_images', on_delete=False) images = S3DirectField(dest='product_images') class Meta: verbose_name_plural = "Images"
class Letter(models.Model): # gif title name = models.CharField(max_length=255, null=False) image = models.ImageField(upload_to='letter/') image_s3 = S3DirectField(dest='Letters', blank=True) def str(self): return "{}".format(self.name)
class Partner(models.Model): name = models.CharField(max_length=100) description_en = models.TextField(null=True, blank=True, default=None) description_el = models.TextField(null=True, blank=True, default=None) title = models.CharField(max_length=300, null=True, blank=True) image = S3DirectField(dest='uploads') def __str__(self): return self.name
class ProjectGallery(models.Model): image_url = S3DirectField(dest='project_gallery', max_length=64, null=True, blank=True) project = models.ForeignKey(Project, related_name="gallery") def __unicode__(self): return self.image_url
class Project(models.Model): title = models.TextField() picture = S3DirectField(dest='portfolio_destination') description = RichTextField(blank=True, null=True) link = models.TextField() priority = models.IntegerField() def __str__(self): return self.title
class IsmrmrdAwsData(TempData): ismrmrd_file = S3DirectField(dest='uploads') def __str__(self): return str(self.ismrmrd_file).split('/')[-1] def delete(self, *args, **kwargs): delete_aws_file(os.path.join('uploads/', str(self.ismrmrd_file))) super().delete(*args, **kwargs)
class Product(models.Model): name = models.CharField(max_length=30) description = models.TextField() image_url = S3DirectField(dest='product_img', max_length=64, null=True, blank=True) def __unicode__(self): return self.name
class Question(models.Model): question_text = models.CharField(max_length=200) question_icon = models.FileField(max_length=200, default='null.ico', upload_to=make_filename) question_thumb = S3DirectField(dest='dest', default='null.png') pub_date = models.DateTimeField('date published') def __str__(self): return self.question_text def was_published_recently(self): return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class FieldPartner(models.Model): name = models.CharField(max_length=30) description = models.TextField() avatar = S3DirectField(dest='field_partner_img', max_length=64, null=True, blank=True) email = models.CharField(max_length=60, null=True) def __unicode__(self): return self.name
class Track(models.Model): disc = models.ForeignKey('Disc', on_delete=models.CASCADE, blank=True, null=True) name = models.CharField(max_length=128, blank=True, null=True) track = S3DirectField(dest='wavs', blank=True, null=True) track_no = models.IntegerField(default=1) class Meta: ordering = ['track_no',] def __str__(self): return "%s_%s_%s.wav" % (self.disc.release.cat_no, str(self.disc.number), str(self.track_no))
class Recent(models.Model): text = models.CharField(max_length=30) image = S3DirectField(dest="media") def clean(self): if Recent.objects.exists() and not self.pk: raise ValidationError( "Only one instance of RecentText can be made.") def __str__(self): return self.text
class Article(models.Model): title = models.TextField() description = models.TextField() picture = S3DirectField(dest='blog_destination') article = RichTextUploadingField(blank=True, null=True) created_at = models.DateTimeField() url = models.SlugField(max_length=200) is_visible = models.BooleanField(default=False) def __str__(self): return self.title
class Recipe(models.Model): class Meta: ordering = ('-created_at',) DifficultyTypes = models.TextChoices('DifficultyType', 'Easy Medium Hard') title= models.CharField('title', max_length=128) description= models.TextField('description', max_length=10240) difficulty=models.CharField('difficulty', blank=False, choices=DifficultyTypes.choices, max_length=16) created_by= models.ForeignKey(AppUser, verbose_name='created by', on_delete=models.CASCADE) created_at = models.DateField(default=timezone.now) ingredients = models.ManyToManyField(Ingredient, related_name='ingredients') image = S3DirectField(dest="main", verbose_name="image")
class Invoice(models.Model): company = models.ForeignKey(Company, verbose_name=_('Company')) invoice_number = models.CharField(_('Invoice number'), max_length=255) invoice = S3DirectField(_('Invoice'), dest='invoices') comment = models.CharField(_('Comment'), max_length=500) created_dt = models.DateTimeField(_('Created'), auto_now=True) def __unicode__(self): return 'Invoice #%s' % self.invoice_number def get_admin_absolute_url(self): return reverse('admin:billing_invoice_change', args=(self.id,))
class SpecialSquareType(models.Model): """A special square type.""" name = models.TextField() description = models.TextField() image = S3DirectField(dest="special_square") auto_move = models.IntegerField( default=0, help_text="Automatically move the runabout by this many places") def __str__(self): return self.name