class Gym(m.Model): ''' Model for a gym ''' class Meta: permissions = ( ("gym_trainer", _("Trainer: can see the users for a gym")), ("manage_gym", _("Admin: can manage users for a gym")), ("manage_gyms", _("Admin: can administrate the different gyms")), ) ordering = ["name", ] objects = GymManager() ''' Custom Gym Query Manager ''' name = m.CharField(max_length=60, verbose_name=_('Name')) '''Gym name''' phone = m.CharField(verbose_name=_('Phone'), max_length=20, blank=True, null=True) '''Phone number''' email = m.EmailField(verbose_name=_('Email'), blank=True, null=True) '''Email''' owner = m.CharField(verbose_name=_('Owner'), max_length=100, blank=True, null=True) '''Gym owner''' zip_code = m.CharField(_(u'ZIP code'), max_length=10, blank=True, null=True) '''ZIP code''' city = m.CharField(_(u'City'), max_length=30, blank=True, null=True) '''City''' street = m.CharField(_(u'Street'), max_length=30, blank=True, null=True) '''Street''' def __str__(self): ''' Return a more human-readable representation ''' return self.name def delete(self, using=None): ''' Make sure that there are no users with this gym in their profiles ''' # Not accessing the profile directly to avoid cyclic import problems for user in User.objects.filter(userprofile__gym=self).all(): user.userprofile.gym = None user.userprofile.save() super(Gym, self).delete(using) def get_absolute_url(self): ''' Return the URL for this object ''' return reverse('gym:gym:user-list', kwargs={'pk': self.pk}) def get_owner_object(self): ''' Gym has no owner information ''' return None
class Gym(m.Model): ''' Model for a gym ''' class Meta: permissions = ( ("gym_trainer", _("Trainer: can see the users for a gym")), ("manage_gym", _("Admin: can manage users for a gym")), ("manage_gyms", _("Admin: can administrate the different gyms")), ) ordering = ["name", ] objects = GymManager() ''' Custom Gym Query Manager ''' name = m.CharField(max_length=60, verbose_name=_('Name')) '''Gym name''' phone = m.CharField(verbose_name=_('Phone'), max_length=20, blank=True, null=True) '''Phone number''' email = m.EmailField(verbose_name=_('Email'), blank=True, null=True) '''Email''' owner = m.CharField(verbose_name=_('Owner'), max_length=100, blank=True, null=True) '''Gym owner''' zip_code = m.CharField(_(u'ZIP code'), max_length=10, blank=True, null=True) '''ZIP code''' city = m.CharField(_(u'City'), max_length=30, blank=True, null=True) '''City''' street = m.CharField(_(u'Street'), max_length=30, blank=True, null=True) '''Street''' def __str__(self): ''' Return a more human-readable representation ''' return self.name def get_absolute_url(self): ''' Return the URL for this object ''' return reverse('gym:gym:user-list', kwargs={'pk': self.pk}) def get_owner_object(self): ''' Gym has no owner information ''' return None