Ich habe eine Klasse, die durch Django in eine Datenbanktabelle umgesetzt wird:
Code: Alles auswählen
class User(models.Model):
"""class for managing logged in users"""
name = models.CharField(maxlength=100, help_text=help_dic["user_name"])
fullname = models.CharField(maxlength=100, blank=True,
help_text=help_dic["user_fullname"])
last_id = models.CharField(maxlength=20, blank=True,
help_text=help_dic["user_last_id"])
ignored = models.BooleanField(default=False,
help_text=help_dic["user_ignored"])
def __str__(self):
return "%s (%s)" % (self.name, self.fullname)
Code: Alles auswählen
class User(models.Model):
"""class for managing logged in users"""
name = models.CharField(maxlength=100, help_text=help_dic["user_name"])
fullname = models.CharField(maxlength=100, blank=True,
help_text=help_dic["user_fullname"])
last_id = models.CharField(maxlength=20, blank=True,
help_text=help_dic["user_last_id"])
ignored = models.BooleanField(default=False,
help_text=help_dic["user_ignored"])
uptime = 0
Ich weiß nicht wie Django das intern alles umsetzt, aber wenn ich einfach die Klasse nehme und mir neue Objekte erstelle, dann sieht das ja ungefähr folgendermaßen aus:
Code: Alles auswählen
a = User("user1")
b = User("user2")
print a.uptime, b.uptime
0 0
Code: Alles auswählen
print a.uptime, b.uptime
1 1
Code: Alles auswählen
a.uptime = 44
c = User("user3")
print a.uptime, b.uptime, c.uptime
44 1 1
Code: Alles auswählen
print a.uptime, b.uptime, c.uptime
44 123 123
Ich bin mir unsicher wie man sowas machen soll, ich habe versucht einfach die Funktion __init__ zu definieren aber dann erwartet die Klasse beim Anlegen 6 Parameter und ich weiß nicht welche.
Habe ich einen Nachteil wenn ich diese Klassenvariable "missbrauche"?