簡體   English   中英

獲取Django模型的主要字段的名稱

[英]Get name of primary field of Django model

在Django中,每個模型都有一個偽屬性pk ,它指向聲明為主鍵的字段。

class TestModel(models.Model):
    payload = models.Charfield(max_length=200)

在此模型中, pk屬性將指向隱式id字段,如果沒有聲明字段是主要字段,則生成該字段。

class CustomPK(models.Model)
    primary = models.CharField(max_length=100, primary=True)
    payload = models.Charfield(max_length=200)

在此模型中, pk屬性將指向顯式定義的主鍵字段primary

所以我的問題是,我怎樣才能獲得該字段的名稱,即主鍵?

您還將在pk-attribute上具有屬性“name”。 這似乎保留了Field的名稱。

CustomPK._meta.pk.name

在我的情況下,我得到值“id”作為結果(就像它應該)。 :-)

字段對象具有primary_key屬性

for field in CustomPK._meta.fields:
  print field.primary_key
  print field.name


# True
# primary
# False
# payload

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM