class Book(models.Model): title = models.CharField(max_length=200) author = models.ForeignKey('Author', on_delete=models.SET_NULL, null=True) summary = models.TextField( max_length=1000, help_text='Enter a brief description of the book.') isbn = models.CharField( 'ISBN', max_length=13, help_text= '13 Character <a href="https://www.isbn-international.org/content/what-isbn">ISBN number</a>' ) genre = models.ManyToManyField(Genre, help_text="Select a genre for this book.") language = LanguageField(default='English') def __str__(self): return self.title def get_absolute_url(self): return reverse('book-detail', args=[str(self.id)]) def display_genre(self): return ', '.join([genre.name for genre in self.genre.all()[:3]]) display_genre.short_description = 'Genre'
class MovieReview(models.Model): title = models.CharField(max_length=255, blank=True, null=False) cover = models.ImageField(default='default_cast.png', upload_to="gallery") YEAR_CHOICES = [] for r in range(1900, (datetime.datetime.now().year + 1)): YEAR_CHOICES.append((r, r)) year = models.IntegerField(choices=YEAR_CHOICES, default=datetime.datetime.now().year) GENRE_CHOICES = Choices('Action', 'Comedy', 'Drama', 'Family', 'Romance', 'Sci-Fi') genre = models.CharField(choices=GENRE_CHOICES, max_length=255, null=False) time = models.IntegerField(blank=True, null=False, default=0) release_date = models.DateField(default=datetime.date.today) description = models.TextField(max_length=255, blank=True, null=False) country = CountryField(default='US', null=False) movie_language = LanguageField(default='En', null=False) IMDB_rating = models.FloatField(max_length=255, blank=True, null=True) MPAA_rating = models.IntegerField(blank=True, null=True) date_created = models.DateField(default=datetime.date.today) alcohol = models.ValueRange(start=0, end=5) nudity = models.ValueRange(start=0, end=5) LGBTQ = models.ValueRange(start=0, end=5) sex = models.ValueRange(start=0, end=5) language = models.ValueRange(start=0, end=5) violence = models.ValueRange(start=0, end=5) def __str__(self): return self.title
class Book(models.Model): name = models.CharField(max_length=200) rating = models.PositiveIntegerField(default=0) STATUS = (("D", "Draft"), ("P", "Published"), ('R', 'Running')) image = models.ImageField(default="default.jpg", upload_to="book_covers") published = models.CharField(max_length=2, choices=STATUS) author = models.ForeignKey(User, on_delete=models.CASCADE) pages = models.PositiveIntegerField(default=0) favorite = models.ManyToManyField(User, related_name="favorite") genre = models.ManyToManyField(Genre, related_name="book_genre") isbn13 = models.IntegerField(null=True) published_date = models.DateField(unique=False) tags = TaggableManager() prog = models.ManyToManyField(User, related_name="pro", through="Progress") lang_code = LanguageField() is_explicit = models.BooleanField(default=False) def __str__(self): return self.name def get_absolute_url(self): return reverse("home") def save(self, *args, **kwargs): super().save() img = Image.open(self.image.path) if img.height > 200 or img.width > 200: output_size = (150, 150) img.thumbnail(output_size) img.save(self.image.path)
class Issue(models.Model): question = models.TextField(verbose_name='question sentence', blank=False) situation = models.TextField(verbose_name='situation', blank=True) contributor = models.ForeignKey( LanveUser, on_delete=models.SET(set_default_contributor_issue_deleted), related_name='contributor_issue', ) language_to = LanguageField( 'language you want to translate to', max_length=8, blank=True ) count_view = models.PositiveIntegerField( 'the number of this issue view', default=0 ) # auto_now_add はインスタンスの作成(DBにINSERT)する度に更新 created_at = models.DateTimeField('created_at', auto_now_add=True) # # auto_now=Trueの場合はモデルインスタンスを保存する度に現在の時間で更新 updated_at = models.DateTimeField('update_at', auto_now=True) class Meta: ordering = ['-created_at'] def __str__(self): return self.question
class InitiativeLanguage(models.Model): initiative = models.ForeignKey(Initiative, on_delete=models.CASCADE, related_name='languages') language = LanguageField(db_index=True) last_version = models.ForeignKey('InitiativeVersion', null=True, on_delete=models.SET_NULL) class Meta: constraints = [ models.UniqueConstraint(fields=['initiative', 'language'], name='unique_initiative_language'), ] @property def language_name(self): return LANGUAGE_NAMES[self.language] def get_absolute_url(self): return reverse('initiative:view', args=[ self.initiative.pk ]) + '?lang=' + str(self.language) def __str__(self): return "[%s] %d" % (self.language, self.initiative.pk)
class Book(models.Model): title = models.CharField(max_length=40) author = models.CharField(max_length=30) description = models.TextField() category = models.CharField(max_length=20) publish_year = models.CharField(max_length=5) language = LanguageField(max_length=40, default=False) age_group = models.CharField(max_length=5, choices=GROUP_CHOICES) downloaded_times = models.IntegerField() rate = models.FloatField() rate_times = models.IntegerField() rate_total = models.FloatField() book_image = models.ImageField(upload_to='book_cover_image', default="image.png") pdf_file = models.FileField(default=True, upload_to='media') def __str__(self): return f"{self.title}|-|{self.category}|-|{self.author}" def save(self): super().save() img = Image.open(self.book_image.path) if img.height > 300 or img.width > 300: output_size = (300, 300) img.thumbnail(output_size) img.save(self.book_image.path)
class Course(models.Model): title = models.CharField(max_length=300) description = models.TextField(max_length=300, blank=True, null=True) duration = models.FloatField(max_length=300, blank=True, null=True) rating = models.IntegerField( validators=[MaxValueValidator(5), MinValueValidator(0)], blank=True, null=True, default=0) ico = models.FileField(upload_to=upload_lecture, blank=True, null=True) language = LanguageField(max_length=20, default='en') author = models.ForeignKey(UserProfile, on_delete=models.CASCADE, blank=True, null=True) price = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) category = models.ManyToManyField(Category) pub_date = models.DateTimeField(auto_now=True) def __str__(self): return 'id{} title{}'.format(self.id, self.title)
class Language(models.Model): language = LanguageField(max_length=200) def __str__(self): return self.language class Meta: verbose_name_plural = "Languages"
class UserLanguage(OrderedModel): user = models.ForeignKey('User', on_delete=models.CASCADE, related_name='languages') language = LanguageField() order_with_respect_to = 'user' class Meta(OrderedModel.Meta): constraints = [ models.UniqueConstraint(fields=['user', 'language'], name='unique_user_language'), ]
class ServiceProvider(models.Model): name = models.CharField(max_length=100) email = models.EmailField() phone = PhoneNumberField() language = LanguageField(default='en') currency = CurrencyField(default='USD') def __str__(self): return self.name
class Provider(models.Model): name = models.CharField(max_length=120) email = models.EmailField() telphone = models.CharField(max_length=80) language = LanguageField() currency = models.CharField(max_length=3) def __str__(self): return f'{self.name} ({self.email})'
class FresnoyProfile(models.Model): GENDER_CHOICES = ( ('M', 'Male'), ('F', 'Female'), ('T', 'Transgender'), ('O', 'Other'), ) user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE) photo = models.ImageField(upload_to=make_filepath, blank=True, null=True) gender = models.CharField(max_length=1, choices=GENDER_CHOICES, null=True, blank=True) nationality = models.CharField(max_length=24, null=True, blank=True) birthdate = models.DateField(null=True, blank=True) birthplace = models.CharField(max_length=255, null=True, blank=True) birthplace_country = CountryField(null=True, default="") homeland_address = models.TextField(blank=True) homeland_zipcode = models.CharField(max_length=10, blank=True) homeland_town = models.CharField(max_length=50, blank=True) homeland_country = CountryField(default="") residence_address = models.TextField(blank=True) residence_zipcode = models.CharField(max_length=10, blank=True) residence_town = models.CharField(max_length=50, blank=True) residence_country = CountryField(default="") homeland_phone = models.CharField(max_length=50, blank=True) residence_phone = models.CharField(max_length=50, blank=True) social_insurance_number = models.CharField(max_length=50, blank=True) family_status = models.CharField(max_length=50, null=True, blank=True) mother_tongue = LanguageField(max_length=8, blank=True, null=True) other_language = models.CharField(max_length=24, null=True, blank=True) cursus = models.TextField(blank=True) def __str__(self): return 'Profile {}'.format(self.user) @property def is_artist(self): return self.user.artist_set.count() > 0 def is_staff(self): return self.user.staff_set.count() > 0 def is_student(self): return hasattr(self.user, 'student')
class Dictionary(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE, related_name="dictionaries") native_language = LanguageField(max_length=8) foreign_language = LanguageField(max_length=8) dictionary_name = models.CharField(max_length=100) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: verbose_name = "Dictionary" verbose_name_plural = "Dictionaries" def __str__(self): return "{0}".format(self.dictionary_name) def get_dictionary_name(self, theme_id): theme = Theme.objects.get(id=theme_id) return f"{theme.theme_name} belongs to {self.dictionary_name} dictionary."
class Clerical(TimeStampedModel): #office_equipment_used = models.TextField() language = LanguageField(blank=True) typing_shorthand = models.IntegerField(blank=True, null=True, default=0) class Meta: verbose_name = "Clerical" verbose_name_plural = "Clericals" def __unicode__(self): return '%s %s' % (self.language, self.typing_shorthand)
class User(AbstractUser): native_language = LanguageField(max_length=8, default="en") objects = MyUserManager() class Meta: verbose_name = "User" verbose_name_plural = "Users" def __str__(self): return f"{self.username}"
class Provider(models.Model): """Model definition for Provider.""" name = models.CharField("Provider's name.", max_length=50) phone = PhoneNumberField("Provider's phone number.") language = LanguageField("Provider's language.") currency = CurrencyField("Provider's currency.") user = models.OneToOneField(User, on_delete=models.CASCADE) def __str__(self): """Unicode representation of Provider.""" return self.name
class Language(models.Model): user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE) CUSTOM_LANGUAGE_CHOICES = ( ("zh", _(u"Chinese")), ("en", _(u"English")), ("es", _(u"Spanish")), ) language = LanguageField(_('language'), default="en", choices=CUSTOM_LANGUAGE_CHOICES) def __str__(self): mapping = dict(self.CUSTOM_LANGUAGE_CHOICES) return '{} can speak {}'.format(self.user.username, mapping[self.language])
class Provider(models.Model): CURRENCIES_CHOICES = () currencies_list = list(currencies.MONEY_FORMATS.keys()) for elt in currencies_list: CURRENCIES_CHOICES += ((elt, elt), ) name = models.CharField(max_length=250) email = models.EmailField(blank=False, unique=True) phone = models.CharField(max_length=100) language = LanguageField() currency = models.CharField(choices=CURRENCIES_CHOICES, max_length=3) def __str__(self): return self.name
class Book(models.Model): CHOICES = [(y, y) for y in reversed(range(1450, 2021))] title = models.CharField(max_length=100) author = models.CharField(max_length=100) pub_year = models.IntegerField(choices=CHOICES) isbn = models.DecimalField(max_digits=13, decimal_places=0) num_pages = models.PositiveSmallIntegerField() cover_link = models.URLField() language = LanguageField(max_length=20) def __str__(self): return str(self.pub_year) + ' || ' + str(self.title) + ' || ' + str( self.author)
class ProfileForm(forms.ModelForm): full_name = forms.CharField(label="Full Name",widget = forms.TextInput(attrs={'class':'form-control'})) description = forms.CharField(label="Description",widget = forms.Textarea(attrs={'class':'form-control','placeholder':'Enter your description.'})) country = CountryField(blank_label='(select country)').formfield(widget=CountrySelectWidget(attrs={"class": "form-control"})) gender = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),choices=gender_list) contact_no = forms.CharField(label="Contact No.",disabled = False ,widget = forms.TextInput(attrs={'class':'form-control',})) skills = forms.CharField(label="Skills",disabled = False ,widget = forms.TextInput(attrs={'class':'form-control'})) languages = LanguageField().formfield(widget=CountrySelectWidget(attrs={"class": "form-control"})) facebook = forms.URLField(label="Facebook",disabled = False ,widget = forms.URLInput(attrs={'class':'form-control'})) github = forms.URLField(label="Github",disabled = False ,widget = forms.URLInput(attrs={'class':'form-control'})) class Meta: model = MyProfile exclude = ['google','profile_image','user','profile_set']
class Provider(models.Model): """This class represents the provider models.""" name = models.CharField(max_length=255, unique=True, blank=False, null=False) email = models.EmailField(blank=False, null=False) phone = PhoneField(blank=False, null=False) language = LanguageField(blank=False, null=False) currency = models.CharField(max_length=3, blank=False, null=False) date_created = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) def __str__(self): """Return a human readable representation of the models instance.""" return "{}".format(self.name)
class Provider(models.Model): """ Provider's model """ name = models.CharField(_('Name'), max_length=256) email = models.EmailField(_('Email'), unique=True) phone_number = PhoneNumberField() language = LanguageField() currency = CurrencyField() created_at = models.DateTimeField(_('Created at'), auto_now_add=True) class Meta: verbose_name = _('Provider') verbose_name_plural = _('Providers') def __str__(self): return f'{self.name} Provider'
class UserProfile(TimeStampedModel): """ """ user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE) tag = models.CharField(max_length=120, blank=True, null=True) picture = VersatileImageField(upload_to='profile', blank=True, null=True) aboutme = models.TextField(blank=True, null=True, verbose_name="Profile Summary") phone = models.CharField(max_length=120, blank=True, null=True) location = models.CharField(max_length=250, blank=True, null=True) time_zone = TimeZoneField(default='Asia/Kolkata', null=True, blank=True) language = LanguageField(default='en') dob = models.DateField(null=True, blank=True) gender = models.PositiveSmallIntegerField(choices=GENDER) class Meta: ordering = ("-date_updated", ) def __str__(self): """ :return: """ return "Profile of {}".format(self.user.get_full_name()) @property def get_location(self): return "{}".format(self.location) def get_absolute_url(self): return reverse('user_profile', kwargs={'userid': self.user.username}) def get_screen_name(self): return "{}".format(self.user.get_full_name()) @property def get_picture(self): if not self.picture: self.picture = 'placeholder/no-image.png' self.save() return self.picture
class Provider(models.Model): CURRENCIES = [ (US_DOLLAR, 'USD'), (EURO, 'EUR'), (CANADIAN_DOLLAR, 'CAD'), ] name = models.CharField(null=False, blank=False, max_length=100) email = models.EmailField(null=False, blank=False, unique=True) phone_number = PhoneNumberField(null=False, blank=False, unique=True) language = LanguageField() currency = models.CharField(null=False, blank=False, max_length=3, choices=CURRENCIES, default=US_DOLLAR) def get_absolute_url(self): return reverse('v1:providers-detail', args=[str(self.id)])
class Term(models.Model): text = models.CharField(max_length=100) definition = models.TextField() # taken directly from an API language = LanguageField(default='en') highlights = models.TextField() # words to highlight, separated by \n flagged = models.BooleanField(default=False) # pretty words class Meta: ordering = ['text'] def __str__(self): return self.text def get_absolute_url(self): return reverse('view_term', args=[str(self.id)]) def get_highlights(self): return self.highlights.splitlines()
class User(AbstractUser): """ Custom user model made when starting the project""" # describing the name of the field on the user model that is used as the unique identifier USERNAME_FIELD = 'email' name = models.TextField() email = models.EmailField(unique=True) password = models.TextField() mobile = PhoneNumberField(blank=True, null=True) language = LanguageField(max_length=8, default='en') region = RegionField(blank=True, null=True) date_of_birth = models.DateField(blank=True, null=True) # removes email from REQUIRED_FIELDS, and add username to be able to create superuser REQUIRED_FIELDS = ['username'] class Meta: db_table = "User" managed = True
class Movie(models.Model): MPA_RATINGS = { "G": "G", "PG": "PG", "PG-13": "PG-13", "R": "R", "NC-17": "NC-17" } MPA_CHOICES = ((MPA_RATINGS["G"], "G"), (MPA_RATINGS["PG"], "PG"), (MPA_RATINGS["PG-13"], "PG-13"), (MPA_RATINGS["R"], "R"), (MPA_RATINGS["NC-17"], "NC-17")) url = models.URLField(max_length=500, null=True) title = models.CharField(max_length=100, null=False) title_english = models.CharField(max_length=100, null=True, default='') title_long = models.CharField(max_length=100, null=True, default='') slug = models.SlugField(max_length=100, null=True, default='') year = models.PositiveSmallIntegerField(null=False) rating = models.PositiveSmallIntegerField(null=False) runtime = models.PositiveSmallIntegerField(null=True, default=0) summary = models.TextField(null=False) description_full = models.TextField(null=True, default='') synopsis = models.TextField(null=True) language = LanguageField(max_length=20, default="English") mpa_rating = models.CharField(max_length=10, choices=MPA_CHOICES, default=MPA_RATINGS["R"]) background_image = models.URLField(max_length=500, null=True) background_image_original = models.URLField(max_length=500, null=True) small_cover_image = models.URLField(max_length=500, null=True) medium_cover_image = models.URLField(max_length=500, null=True) large_cover_image = models.URLField(max_length=500, null=True) genres = models.ManyToManyField("Genre") date_uploaded = models.DateTimeField(auto_now_add=True) date_added = models.DateTimeField(auto_now=True) def __str__(self): return self.title def save(self, *args, **kwargs): self.slug = slugify(self.title) super().save(*args, **kwargs)
class Vine(models.Model): album = models.ForeignKey(VineAlbum, on_delete=models.CASCADE) vine_title = models.CharField(max_length=100) #poster = "{{vine.vine_poster.url}}" #vine_poster= models.FileField() video = models.FileField() country = CountryField(blank_label='Select Country', null=True) date = models.DateTimeField(auto_now_add=True) language = LanguageField() likes = ListCharField(base_field=CharField(max_length=100), max_length=(6 * 11), default=[]) dislikes = ListCharField(base_field=CharField(max_length=100), max_length=(6 * 11), default=[]) def __str__(self): return self.vine_title def is_liked(self, profile): return profile in self.likes def is_disliked(self, profile): return profile in self.dislikes def add_like(self, profile): if (self.is_liked(profile)): self.likes.remove(profile) else: self.likes.append(profile) if (self.is_disliked(profile)): self.dislikes.remove(profile) self.save() def add_dislike(self, profile): if (self.is_disliked(profile)): self.dislikes.remove(profile) else: self.dislikes.append(profile) if (self.is_liked(profile)): self.likes.remove(profile) self.save()
class Provider(models.Model): name = models.CharField(max_length=255, blank=True, default='') email = models.EmailField(max_length=255, blank=True) phone_regex = RegexValidator( regex=r'^\+?1?\d{9,15}$', message="Please use this format '+999999999' with 15 digits max.") phone_number = models.CharField(validators=[phone_regex], max_length=17, blank=True) language = LanguageField() currency = MoneyField(max_digits=14, decimal_places=2, default_currency='USD') def __str__(self): return self.name class Meta: ordering = ('name', ) verbose_name_plural = 'providers'
class Schedule(models.Model): CINEMAS = ((i, i) for i in range(1, 25)) TYPES = (('3D', '3D'), ('4D', '4D'), ('Tradicional', 'Tradicional'), ('IMAX', 'IMAX')) schedule = models.DateTimeField(auto_now=False, auto_now_add=False, null=False, blank=False) cinema = models.IntegerField(choices=(CINEMAS), null=False, blank=False) language = LanguageField(null=False, blank=False) cinema_type = models.CharField(choices=(TYPES), max_length=20, null=False, blank=False) price = models.FloatField(null=False, blank=False) movie = models.ForeignKey("movie.Movie", on_delete=models.CASCADE, null=False, blank=False)