models.py attached.
On Sun, 2007-02-18 at 16:51 +0100, Honza Král wrote: > > that's odd can you post your Model definition? > > > > > > > > > > > -- Tomá Pokorný ============= email: [EMAIL PROTECTED] mobil: +420 776 379 631 icq# 22996508 ============================== 1.Robotická s.r.o. http://www.roboticka.cz --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---
# -*- encoding: utf-8 -*- from django.db import models from django.contrib.auth.models import User from django.conf import settings from django.core import validators import datetime # Create your models here. class UserProfile(models.Model): """ User/Member information """ user = models.ForeignKey(User, unique=True) icq = models.IntegerField(null=True, blank=True) is_member = models.BooleanField(default=False) description = models.TextField(null=True, blank=True) icon_width = models.SmallIntegerField(null=True, blank=True) icon_height = models.SmallIntegerField(null=True, blank=True) icon_mimetype = models.CharField(maxlength=64, null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True, null=True) changed_at = models.DateTimeField(auto_now=True, null=True) class Meta: ordering = ('id',) class Admin: fields = ( (None, {'fields': ('user', 'icq', 'is_member', 'description')}), (_('User icon'), {'fields': ('icon_width', 'icon_height', 'icon_mimetype')}), ) list_display = ('user', 'name', 'email', 'icq', 'icon_size', 'is_member') list_filter = ('is_member',) search_fields = ('user__first_name', 'user__last_name', 'user__email', 'user__username', 'description',) list_select_related = True def __str__(self): return self.name() def icon_url(self): return settings.DATA_DIR + 'usericon/' + self.id + '/' def has_icon(self): return self.icon_width and self.icon_height def icon_img_tag(self): if self.has_icon(): return '<img class="usericon" src="/usericon/%s/" width="%d" height="%d" alt="" />' % (self.id, self.icon_width, self.icon_height) return '<img class="usericon" src="%simg/unknown.png" width="40" height="50" alt="" />' % settings.MEDIA_URL def name(self): return self.user.get_full_name() def email(self): return self.user.email def icon_size(self): if self.has_icon(): return "%dx%d" % (self.icon_width, self.icon_height) class Action(models.Model): name = models.CharField(maxlength=64, unique=True) from_date = models.DateField(null=True, blank=True, validator_list=[validators.IsLessThanOtherField('to_date', _('From_date must be before to_date!'))]) to_date = models.DateField(null=True, blank=True) description = models.TextField(null=True, blank=True) photo = models.ForeignKey('Photo', null=True, blank=True) rank = models.IntegerField(null=True, blank=True) enabled = models.BooleanField(default=True) created_at = models.DateTimeField(auto_now_add=True, null=True) changed_at = models.DateTimeField(auto_now=True, null=True) class Meta: ordering = ('rank', 'from_date', 'to_date', 'id') class Admin: list_display = ('name', 'from_date', 'to_date', 'rank', 'enabled') list_filter = ('enabled',) search_fields = ('name', 'description',) list_select_related = True def rank_is_null(self): return rank is None def __str__(self): if not self.enabled: return "%s (disabled)" % self.name return self.name def group_name(self): return {0: 'Starší', 9999: 'Plánované'}.get(self.group_rank, "Rok %d" % self.from_date.year) def group_rank(self): if not self.from_date: return 0 if self.from_date > datetime.datetime.now(): return 9999 return self.from_date.year class Album(models.Model): action = models.ForeignKey(Action, null=True, blank=True) name = models.CharField(maxlength=64) description = models.TextField(null=True, blank=True) directory = models.CharField(maxlength=64, unique=True) rank = models.IntegerField(null=True, blank=True) enabled = models.BooleanField(default=True) # access permissions public_read = models.BooleanField(default=True) created_at = models.DateTimeField(auto_now_add=True, null=True) changed_at = models.DateTimeField(auto_now=True, null=True) class Meta: unique_together = (('action', 'name'),) #order_with_respect_to = 'action' ordering = ('rank', 'name') class Admin: list_display = ('action', 'name', 'directory', 'rank', 'public_read', 'enabled') list_display_links = ('name', 'directory') list_filter = ('enabled', 'public_read', 'action') search_fields = ('name', 'directory', 'description',) list_select_related = True def __str__(self): if self.action: text = "%s - %s" % (self.action, self.name) else: text = self.name if not self.enabled: text += " (disabled)" return text class Forum(models.Model): action = models.ForeignKey(Action, null=True, blank=True) name = models.CharField(maxlength=64) description = models.TextField(null=True, blank=True) rank = models.IntegerField(null=True, blank=True) enabled = models.BooleanField(default=True) # forum options with_subject = models.BooleanField(default=True) with_usericon = models.BooleanField(default=True) with_photo = models.BooleanField(default=False) # access permissions public_read = models.BooleanField(default=True) public_write = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True, null=True) changed_at = models.DateTimeField(auto_now=True, null=True) class Meta: unique_together = (('action', 'name'),) #order_with_respect_to = 'action' ordering = ('rank', 'name') class Admin: list_display = ('action', 'name', 'rank', 'with_subject', 'with_usericon', 'with_photo', 'public_read', 'public_write', 'enabled') list_display_links = ('name',) list_filter = ('enabled', 'public_read', 'public_write', 'action') search_fields = ('name', 'description',) list_select_related = True def __str__(self): if self.action: text = "%s - %s" % (self.action, self.name) else: text = self.name if not self.enabled: text += " (disabled)" return text class Photo(models.Model): album = models.ForeignKey(Album) file_name = models.CharField(maxlength=64) file_mtime = models.DateTimeField() file_size = models.IntegerField() file_md5sum = models.CharField(maxlength=40) width = models.SmallIntegerField() height = models.SmallIntegerField() mimetype = models.CharField(maxlength=64) rotate = models.SmallIntegerField(choices=((0, 0), (90, 90), (180, 180), (270, 270)), default=0) description = models.TextField(null=True, blank=True) rank = models.IntegerField(null=True, blank=True) enabled = models.BooleanField(default=True) # TODO: doplnit created_at = models.DateTimeField(auto_now_add=True, null=True) changed_at = models.DateTimeField(auto_now=True, null=True) class Meta: unique_together = (('album', 'file_name'),) #order_with_respect_to = 'album' ordering = ('rank', 'file_name') class Admin: list_display = ('album', 'file_name', 'size', 'rotate', 'rank', 'enabled') list_display_links = ('file_name',) list_filter = ('enabled', 'album') search_fields = ('file_name', 'description',) list_select_related = True def __str__(self): return "%s/%s" % (self.album.directory, self.file_name) def size(self): return "%dx%d" % (self.width, self.height) class Message(models.Model): forum = models.ForeignKey(Forum, null=True, blank=True) subject = models.CharField(maxlength=64, null=True, blank=True) body = models.TextField() name = models.CharField(maxlength=64) email = models.EmailField(null=True, blank=True) user = models.ForeignKey(User, related_name='messages') photo = models.ForeignKey(Photo, null=True, blank=True) enabled = models.BooleanField(default=True) created_at = models.DateTimeField(auto_now_add=True, null=True) changed_at = models.DateTimeField(auto_now=True, null=True) class Meta: ordering = ('created_at', 'id') class Admin: list_display = ('forum', 'id', 'subject', 'name', 'email', 'user', 'enabled', 'created_at') list_display_links = ('id', 'subject') list_filter = ('enabled', 'forum', 'user') search_fields = ('subject', 'body') list_select_related = True def __str__(self): if self.subject: return "%s - %s" % (self.forum, self.subject) return "%s - (%d)" % (self.forum, self.id)