Does custom class interrupt applications in django?

Let's say that I correctly subclassed the User (CustomUser) model (as described here: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/ )

and installed the comment application.

to access the user comment in the template I am writing:

{{comment.user}} # which provides User, not my CustomUser

and therefore

{{comment.user.CustomProperty}} #does not work.

How can I get around this?

+3
source share
3 answers

ForeignKey comments.Comment User django, comment.user (.. User). django :

{{ comment.user.customeruser }}

:

{{ comment.user.customeruser.customproperty }}

, Django, , Python, , , . , : -)


: db-, Django, .

, , Django . Django 0.91 , - , , Django, , ... , .

, , , , , , : Django, ?. ContentType. - , , .

+2

, , .

, , .

class IRCUser(models.Model):
    user        = models.ForeignKey(User, unique=True)
    name        = models.CharField(max_length=100, blank= True, null = True )
    friends     = models.ManyToManyField("IRCUser", blank= True, null = True)
    dataRecieved= models.BooleanField(default=False)

IRCUser :

>>> IRCUser(user = User.objects.get(username='Kermit')).save()

EDIT: :

, webapp, . ICQ, MSN, Jabber, FaceBook, Google Talk.....

, .

class CustomUser(User):
    irc_username = models.CharField(blank=True, null=True)
    irc_password = models.PasswordField(blank=True, null=True)
    msn_username = models.CharField(blank=True, null=True)
    msn_password = models.PasswordField(blank=True, null=True)
    fb_username = models.CharField(blank=True, null=True)
    fb_password = models.PasswordField(blank=True, null=True)
    gt_username = models.CharField(blank=True, null=True)
    gt_password = models.PasswordField(blank=True, null=True)
    ....
    ....

  • if-if-then
  • ,

user_profiles

class IRCProfile(models.Model):
    user = models.ForeignKey(User, unique=True, related_name='ircprofile')
    username = models.CharField()
    password = models.PasswordField()

class MSNProfile(models.Model):
    user = models.ForeignKey(User, unique=True, related_name='msnprofile')
    username = models.CharField()
    password = models.PasswordField()

class FBProfile(models.Model):
    user = models.ForeignKey(User, unique=True, related_name='fbprofile')
    username = models.CharField()
    password = models.PasswordField()

:

  • db
  • n

, /template _tags {% with ... %}, , .

+2

, , , , comment.user - User, CustomUser.

. http://docs.djangoproject.com/en/dev/topics/db/models/#proxy-models:

QUERYSETS STILL ,
Django, , MyUser , User. User . - , , , , , ( ). ( ) - .

, UserProfile - ?

, .

+1

Source: https://habr.com/ru/post/1709336/


All Articles