示例#1
0
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'
示例#2
0
文件: models.py 项目: el-asri/IsMDb
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
示例#3
0
文件: models.py 项目: bopopescu/Zoro
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)
示例#4
0
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
示例#5
0
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)
示例#7
0
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)
示例#8
0
class Language(models.Model):
    language = LanguageField(max_length=200)

    def __str__(self):
        return self.language

    class Meta:
        verbose_name_plural = "Languages"
示例#9
0
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'),
        ]
示例#10
0
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
示例#11
0
文件: models.py 项目: agutole/mozio
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})'
示例#12
0
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')
示例#13
0
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."
示例#14
0
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)
示例#15
0
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}"
示例#16
0
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
示例#17
0
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])
示例#18
0
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
示例#19
0
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)
示例#20
0
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']
示例#21
0
文件: provider.py 项目: kiu1231/mozio
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)
示例#22
0
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'
示例#23
0
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
示例#24
0
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)])
示例#25
0
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()
示例#26
0
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
示例#27
0
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)
示例#28
0
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()
示例#29
0
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'
示例#30
0
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)