3

DjangoとMySQLを使用します。モデルを保存しましたが、IDが表示されません。PostgreSQLとbigintegerfieldsで同様の問題がいくつか見られましたが、どちらもここでは当てはまらないようです。何か案は?クライアントは、MySQLの自動インクリメントを介してデータベースのidフィールドの主キーを受け取ります。

ありがとう!

class Client(models.Model):
    id = models.IntegerField(primary_key=True)
    first_name = models.TextField(null=True, blank=True)
    last_name = models.TextField(blank=True)


>>> client = models.Client(last_name="Last", first_name="First")
>>> client.last_name
'Last'
>>> client.save()
>>> client.id
>>> client.last_name
'Last'
>>> client.id
>>> client.pk
>>>

そしてデータベースでは:

id      first_name  last_name
------------------------------------------
14      First       Last
4

2 に答える 2

6

Rebus がコメントで述べているように、主キーを明示的に定義する必要はありません。ただし、そうする場合は、それが自動インクリメント フィールドであることを確認する必要があります。つまりAutoField、基本フィールドではありませIntegerFieldん。この方法では、新しい ID を取得する方法がないため、保存時に空白になります。

于 2012-08-03T07:37:28.313 に答える