2016-10-26 7 views
0

私はdjangoテーブルのユーザーがauth_userです。 username = 'django'ですが、idをチェックするとNoneになります。DjangoのユーザーIDがnullです

enter image description here

私はテーブルをチェックインすると、idが1

ないu.idがNone理由を確認してくださいに設定されています。

+0

IDは、データベースに保存されたときにのみ割り当てられます。この場合、メモリ内にオブジェクトをインスタンス化しただけなので、IDはありません – karthikr

答えて

3

次のコードでは、ユーザーオブジェクトを作成するが、データベースに保存しない:

# here u.id is None 
u = User(username="django") 

それがデータベースに追加されるたびにIDが新しいユーザーオブジェクトに関連付けられている:

# here u.id is not None 
u = User.objects.create(username="django") 

ユーザオブジェクトがすでに存在する場合は、データベースからロードすることができ、id属性が適切に定義されます。

u = User.objects.get(username="django") 
関連する問題