コード例 #1
0
class Item(models.Model):
    cart = models.ForeignKey(Cart, verbose_name=_('cart'))
    quantity = models.PositiveIntegerField(verbose_name=_('quantity'))
    unit_price = models.DecimalField(max_digits=18, decimal_places=2, verbose_name=_('unit price'))
    # product as generic relation
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()

    objects = ItemManager()

    class Meta:
        verbose_name = _('item')
        verbose_name_plural = _('items')
        ordering = ('cart',)

    def __unicode__(self):
        return u'%d units of %s' % (self.quantity, self.product.__class__.__name__)

    def total_price(self):
        return self.quantity * self.unit_price
    total_price = property(total_price)

    # product
    def get_product(self):
        return self.content_type.get_object_for_this_type(pk=self.object_id)

    def set_product(self, product):
        self.content_type = ContentType.objects.get_for_model(type(product))
        self.object_id = product.pk

    product = property(get_product, set_product)
コード例 #2
0
ファイル: models.py プロジェクト: kkneville/Bored-Board
class Comment(models.Model):
    content = models.CharField(max_length=1000)
    member = models.ForeignKey(Member, related_name="comments")
    work = models.ForeignKey(Work, related_name="comments")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    objects = CommentManager()
コード例 #3
0
ファイル: models.py プロジェクト: kkneville/Bored-Board
class Reply(models.Model):
    content = models.CharField(max_length=1000)
    member = models.ForeignKey(Member, related_name="replies")
    comment = models.ForeignKey(Comment, related_name="replies")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    objects = ReplyManager()
コード例 #4
0
class Work(models.Model):
    title = models.CharField(max_length=100)
    year = models.IntegerField()
    desc = models.CharField(max_length=255)
    author = models.ForeignKey(User, related_name="works")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    objects = WorkManager()
コード例 #5
0
ファイル: models.py プロジェクト: kkneville/Bored-Board
class Quote(models.Model):
    speaker = models.CharField(max_length=100, default="")
    message = models.CharField(max_length=255, default="")
    posted_by = models.ForeignKey(Member, related_name="posts")
    liked_by = models.ManyToManyField(Member, related_name="favs")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    objects = QuoteManager()
コード例 #6
0
class Activity(models.Model):
    title = models.CharField(max_length=222)
    description = models.CharField(max_length=1000)
    participant = models.ManyToManyField(User, related_name="participant")
    coordinator = models.ForeignKey(User, related_name="coordinator")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    startdatetime = models.DateTimeField()
    enddatetime = models.DateTimeField()
    objects = ActivityManager()
コード例 #7
0
class Item(models.Model):
    name = models.CharField(max_length=25)
    added_by = models.ForeignKey(Member, related_name="added_items")
    liked_by = models.ManyToManyField(Member,
                                      related_name="liked_items",
                                      default="")
    posted_date = models.DateField(default=datetime.date.today)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    objects = ItemManager()
コード例 #8
0
class City(Place):
    name_std = models.CharField(max_length=200,
                                db_index=True,
                                verbose_name="standard name")
    location = models.PointField()
    population = models.IntegerField()
    region = models.ForeignKey(Region, null=True, blank=True)
    subregion = models.ForeignKey(Subregion, null=True, blank=True)
    country = models.ForeignKey(Country)
    elevation = models.IntegerField(null=True)
    kind = models.CharField(
        max_length=10)  # http://www.geonames.org/export/codes.html
    timezone = models.CharField(max_length=40)

    class Meta:
        verbose_name_plural = "cities"

    @property
    def parent(self):
        return self.region
コード例 #9
0
class District(Place):
    name_std = models.CharField(max_length=200,
                                db_index=True,
                                verbose_name="standard name")
    location = models.PointField()
    population = models.IntegerField()
    city = models.ForeignKey(City)

    @property
    def parent(self):
        return self.city
コード例 #10
0
ファイル: models.py プロジェクト: kkneville/Bored-Board
class Work(models.Model):
    title = models.CharField(max_length=100)
    year = models.IntegerField()
    desc = models.CharField(max_length=255)
    worktype = models.CharField(max_length=100, default="")
    author = models.ForeignKey(Author, related_name="works")
    excerpt = models.CharField(max_length=1500, default="")
    link = models.CharField(max_length=200, default="")
    liked_by = models.ManyToManyField(Member, related_name="liked_work")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    objects = WorkManager()
コード例 #11
0
class InstantMessengerProfile(Profile):
    data_manager = im_manager

    user = models.ForeignKey(User,
                             db_index=True,
                             related_name='instant_messenger_profiles')
    network_id = models.CharField(max_length=16,
                                  choices=data_manager.choices,
                                  db_index=True)
    username = models.CharField(max_length=64)

    def __unicode__(self):
        return self.username
コード例 #12
0
class SocialNetworkProfile(Profile):
    data_manager = sn_manager

    user = models.ForeignKey(User,
                             db_index=True,
                             related_name='social_network_profiles')
    network_id = models.CharField(max_length=16,
                                  choices=data_manager.choices,
                                  db_index=True)
    username = models.CharField(max_length=64)

    def __unicode__(self):
        return self.network_id
コード例 #13
0
class Subregion(Place):
    name_std = models.CharField(max_length=200,
                                db_index=True,
                                verbose_name="standard name")
    code = models.CharField(max_length=200, db_index=True)
    region = models.ForeignKey(Region)

    @property
    def parent(self):
        return self.region

    def full_code(self):
        return ".".join([self.parent.parent.code, self.parent.code, self.code])
コード例 #14
0
                        class Student(models.Model):

                           sname   = models.CharField(max_length=20)

                           sgender = models.BooleanField(default=True)

                           sage    = models.IntegerField()

                           scontend= models.CharField(max_length=20)

                           isDelete= models.BooleanField(default=False)
                            # 关联外键
                           sgrade  =  models.ForeignKey("Grades")
コード例 #15
0
ファイル: models.py プロジェクト: DanCocking1/remnant
class PrimaryStatistics(models.Model):
    character_name = models.ForeignKey(Character, related_name='player_stats', on_delete=models.CASCADE)
    strength = models.PositiveSmallIntegerField(default=10)
    dexterity = models.PositiveSmallIntegerField(default=10)
    constitution = models.PositiveSmallIntegerField(default=10)
    charisma = models.PositiveSmallIntegerField(default=10)
    intelligence = models.PositiveSmallIntegerField(default=10)
    wisdom = models.PositiveSmallIntegerField(default=10)
    armor_rating = models.PositiveSmallIntegerField(default = 10)
    player_level = models.PositiveSmallIntegerField(default=1)
    aura_points = models.PositiveSmallIntegerField(default = 10)
    hit_points = models.PositiveIntegerField(default=10)
    exp = models.PositiveIntegerField(default=0)
コード例 #16
0
ファイル: models.py プロジェクト: DanCocking1/remnant
class Weapon(models.Model):
    #player = models.ForeignKey(User,related_name='player_name', on_delete=models.CASCADE)
    wielder = models.ForeignKey(Character, related_name='PC', on_delete=models.CASCADE)
    weapon_name = models.CharField(max_length=128)
    weapon_type = models.CharField(max_length=64)
    wield_type = models.CharField(max_length=7)
    attack_speed = models.CharField(max_length=16)
    hit_bonus = models.PositiveSmallIntegerField()
    damage_class = models.CharField(max_length=32)
    damage_bonus = models.SmallIntegerField()
    weapon_range = models.PositiveSmallIntegerField()

    def __str__(self):
        return self.weapon_name
コード例 #17
0
class WebsiteProfile(models.Model):
    user = models.ForeignKey(User,
                             db_index=True,
                             related_name='website_profiles')
    name = models.CharField(max_length=64)
    url = models.URLField(verify_exists=True)

    def __unicode__(self):
        return self.url

    def _get_icon(self):
        # No known icons! Just return the Google service URL.
        return GOOGLE_PROFILE_URL % self.url

    icon = property(_get_icon)
コード例 #18
0
class Product(models.Model):
    name = models.CharField(max_length=300)
    price = models.FloatField()
    description = models.TextField()
    count = models.IntegerField()
    category = models.ForeignKey(Category, on_delete=models.CASCADE, default=1)
    def to_json(self):
        return {
            'id': self.id,
            'name': self.name,
            'price': self.price,
            'description': self.description,
            'count': self.count,
            'category_id': self.category.id,
        }
コード例 #19
0
ファイル: models.py プロジェクト: DanCocking1/remnant
class Character(models.Model):
    created_by = models.ForeignKey(User,related_name='player', on_delete=models.CASCADE)
    created_date = models.DateTimeField(blank=True, default=datetime.datetime.now)
    first_name = models.CharField(max_length=32)
    surname = models.CharField(max_length=32)
    age = models.PositiveSmallIntegerField(default=18)
    race = models.CharField(max_length=12)
    aura = models.CharField(max_length=64)
    sembelence = models.CharField(max_length=64)
    gender = models.CharField(max_length=10)
    fanuas_type = models.CharField(max_length=32, blank=True, null=True)
    citizenship = models.CharField(max_length=32)
    occupation = models.CharField(max_length=32)
    background = models.TextField(max_length=512, blank=True, null=True)

    def __str__(self):
        return self.surname + ", " + self.first_name
コード例 #20
0
class Image(Orderable):

    def get_media_path(self, filename):
        pages = self.gallery.placeholder.page_set.all()
        return pages[0].get_media_path(filename)

    gallery = models.ForeignKey(GalleryPlugin, verbose_name=_("Gallery"))
    src = models.ImageField(_("Image file"), upload_to=get_media_path,
                            height_field='src_height',
                            width_field='src_width')
    src_height = models.PositiveSmallIntegerField(_("Image height"), editable=False, null=True)
    src_width = models.PositiveSmallIntegerField(_("Image height"), editable=False, null=True)
    title = models.CharField(_("Title"), max_length=255, blank=True)
    alt = models.TextField(_("Alt text"), blank=True)

    def __unicode__(self):
        return self.title or self.alt or str(self.pk)
コード例 #21
0
ファイル: models.py プロジェクト: DanCocking1/remnant
class Skills(models.Model):
    character_skilled = models.ForeignKey(Character, related_name='char_skills', on_delete=models.CASCADE)
    acrobatics = models.PositiveSmallIntegerField(default=0)
    animal_handling = models.PositiveSmallIntegerField(default=0)
    dust = models.PositiveSmallIntegerField(default=0) #from arcana, makes more sense in remnant, even with maidens
    athletics = models.PositiveSmallIntegerField(default=0)
    deception = models.PositiveSmallIntegerField(default=0)
    history = models.PositiveSmallIntegerField(default=0)
    insight = models.PositiveSmallIntegerField(default=0)
    intimidation = models.PositiveSmallIntegerField(default=0)
    investigation = models.PositiveSmallIntegerField(default=0)
    aura = models.PositiveSmallIntegerField(default=0) #aura?
    nature = models.PositiveSmallIntegerField(default=0)
    perception = models.PositiveSmallIntegerField(default=0)
    performance = models.PositiveSmallIntegerField(default=0)
    grimm = models.PositiveSmallIntegerField(default=0)
    sleight_of_hand = models.PositiveSmallIntegerField(default=0)
    stealth = models.PositiveSmallIntegerField(default=0)
    survival = models.PositiveSmallIntegerField(default=0)
コード例 #22
0
class PostalCode(Place):
    code = models.CharField(max_length=20)
    location = models.PointField()

    country = models.ForeignKey(Country, related_name='postal_codes')

    # Region names for each admin level, region may not exist in DB
    region_name = models.CharField(max_length=100, db_index=True)
    subregion_name = models.CharField(max_length=100, db_index=True)
    district_name = models.CharField(max_length=100, db_index=True)

    objects = models.GeoManager()

    @property
    def parent(self):
        return self.country

    @property
    def name_full(self):
        """Get full name including hierarchy"""
        return u', '.join(reversed(self.names))

    @property
    def names(self):
        """Get a hierarchy of non-null names, root first"""
        return [
            e for e in [
                force_unicode(self.country),
                force_unicode(self.region_name),
                force_unicode(self.subregion_name),
                force_unicode(self.district_name),
                force_unicode(self.name),
            ] if e
        ]

    def __unicode__(self):
        return force_unicode(self.code)
コード例 #23
0
ファイル: models.py プロジェクト: piusfischer/Programme
class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
コード例 #24
0
class Wish(models.Model):
    wish = models.ForeignKey(Item, related_name='wishers')
    wisher = models.ForeignKey(User, related_name='wishes')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
コード例 #25
0
class Item(models.Model):
    title = models.CharField(max_length=255)
    user = models.ForeignKey(User, related_name='items')
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
コード例 #26
0
ファイル: testmodels .py プロジェクト: Exia01/Python
class Items(models.Model):
    name = models.CharField(max_length=255)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    creator = models.ForeignKey("User", related_name = "creator")
    adder = models.ManyToManyField("User", related_name = "adder")
コード例 #27
0
class Event(models.Model):
    class Meta:
        verbose_name = _('event')
        verbose_name_plural = _('events')
        ordering = ['-event_date', '-start_time', '-title']
        get_latest_by = 'event_date'
        permissions = (("change_author", ugettext("Change author")), )
        unique_together = ("event_date", "slug")

    def __unicode__(self):
        return _("%(title)s on %(event_date)s") % {
            'title': self.title,
            'event_date': self.event_date
        }

    @models.permalink
    def get_absolute_url(self):
        return ('agenda-detail', (), {
            'year': self.event_date.year,
            'month': self.event_date.month,
            'day': self.event_date.day,
            'slug': self.slug
        })

    objects = models.Manager()
    on_site = CurrentSiteManager()
    published = PublicationManager()

    # Core fields
    title = models.CharField(_('title'), max_length=255)
    slug = models.SlugField(_('slug'), db_index=True)

    event_date = models.DateField(_('date'))

    start_time = models.TimeField(_('start time'), blank=True, null=True)
    end_time = models.TimeField(_('end time'), blank=True, null=True)

    location = models.ForeignKey(Location, blank=True, null=True)

    description = models.TextField(_('description'))

    calendar = models.ForeignKey("Calendar",
                                 blank=True,
                                 null=True,
                                 related_name='events')

    # Extra fields
    add_date = models.DateTimeField(_('add date'), auto_now_add=True)
    mod_date = models.DateTimeField(_('modification date'), auto_now=True)

    author = models.ForeignKey(User,
                               verbose_name=_('author'),
                               db_index=True,
                               blank=True,
                               null=True)

    publish_date = models.DateTimeField(_('publication date'),
                                        default=datetime.now())
    publish = models.BooleanField(_('publish'), default=True)

    allow_comments = models.BooleanField(_('Allow comments'), default=True)

    sites = models.ManyToManyField(Site)

    def save(self):
        super(Event, self).save()
        if not settings.DEBUG:
            try:
                ping_google()
            except Exception:
                import logging
                logging.warn('Google ping on save did not work.')
コード例 #28
0
ファイル: models.py プロジェクト: DanCocking1/remnant
class DustPouch(models.Model):
    character_owner = models.ForeignKey(Character, related_name='character_dust', on_delete=models.CASCADE)
    wind = models.PositiveSmallIntegerField(default=0)
    fire = models.PositiveSmallIntegerField(default=0)
    lightning = models.PositiveSmallIntegerField(default=0)
    water = models.PositiveSmallIntegerField(default=0)
コード例 #29
0
ファイル: models.py プロジェクト: otwarcie/projects
class Meal(models.Model):
	organizer = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='organizer')
	time = models.DateTimeField(null=True, blank=True)
	location = models.CharField(max_length=100)
	required = models.NullBooleanField(default=None)
コード例 #30
0
ファイル: models.py プロジェクト: kkneville/Bored-Board
class Message(models.Model):
    room = models.ForeignKey(Room, related_name="messages")
    handle = models.TextField()
    message = models.TextField()