0

これが私のコードです:

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)

ビュー.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

appendUser()を呼び出すと、データベースに新しいレコードが挿入され、ユーザー(TblUser のインスタンス) には 2 つの有効なフィールド ( username,password ) しかなく、もう一方は空です。

user.uidそれを使って他のことを処理したいので、どうすれば取得できますか?

4

2 に答える 2

2

pkにはAutoFieldnotを使用する必要があります: https ://docs.djangoproject.com/en/1.4/ref/models/fields/#autofieldIntegerField

于 2012-06-21T08:13:38.487 に答える
0

この投稿、ModelForm を使用した別のアプローチを読みたいと思うかもしれません:

Django で ModelForm を保存した後に主キーを取得する

于 2012-06-21T10:08:52.293 に答える