/ inštancia / django model nemohla získať pole po uložení - django, model

Príklad inštancie django nemohol získať pole po uložení - django, model

Tu je môj kód:

models.py

class TblUser(models.Model):
uid = models.IntegerField(primary_key=True, db_column="ID") # Field name made lowercase.
username = models.CharField(max_length=3072, db_column="UserName", blank=True) # Field name made lowercase.
password = models.CharField(max_length=3072, db_column="PassWord", blank=True) # Field name made lowercase.
datesstart = models.DateTimeField(null=True, db_column="datesStart", blank=True) # Field name made lowercase.
datesend = models.DateTimeField(null=True, db_column="datesEnd", blank=True) # Field name made lowercase.
num = models.IntegerField(null=True, db_column="Num", blank=True) # Field name made lowercase.
power = models.IntegerField(null=True, db_column="Power", blank=True) # Field name made lowercase.
email = models.CharField(max_length=12288, blank=True)
class Meta:
db_table = u"tbl_user"

def __unicode__(self):
return "%d--%s--%d"%(self.uid,self.username,self.power)

views.py

from app.models import TblUser
def appendUser(self,name,pwd):
#I add a new user,and the primary_key:uid is autoincrement in datebase
user = TblUser.objects.create(username=name,password=pwd)
print user.uid#None

Keď zavolám appendUser (), vloží nový záznam do datebase a užívateľ(Inštancia TblUser) majú iba dve platné polia (užívateľské meno, heslo), druhá je prázdna.

Ako môžem získať user.uid pretože chcem používať iné veci?

odpovede:

2 pre odpoveď č. 1

Mali by ste použiť AutoField nie IntegerField pre pk: https://docs.djangoproject.com/en/1.4/ref/models/fields/#autofield


0 pre odpoveď č. 2

Možno si budete chcieť prečítať tento príspevok, odlišný prístup pomocou ModelForm:

Získajte primárny kľúč po uložení ModelForm v Django