1

usera._meta.get_all_field_names() からすべての変数をテンプレートに出力しようとすると、予想よりも 2 つ多くなり、その理由がわかりません。

モデル:

class Clovek(models.Model):
    user=models.OneToOneField(User)
    ulice=models.CharField(max_length=100, blank=True, null=True)
    cislo_popisne=models.CharField(max_length=100, blank=True, null=True)
    mesto=models.CharField(max_length=100, blank=True, null=True)
    psc=models.CharField(max_length=100, blank=True, null=True)
    telefonni_cislo=models.CharField(max_length=100, blank=True, null=True)
    zdravotni_pojistovna=models.CharField(max_length=100, blank=True, null=True)

テンプレートでの出力:

['cislo_popisne', 'id', 'mesto', 'psc', 'student', 'telefonni_cislo', 'ucitel', 'ulice', 'user', 'zdravotni_pojistovna']
4

1 に答える 1

1

Clovek逆リレーション名ucitelとの外部キーを持つ別のモデル (またはモデル) がある可能性が最も高いstudentです。

get_all_field_names()ドキュメントはそれについて非常に明確です:

このモデルで可能なすべてのフィールド名のリストを返します (逆リレーション名を含む)

于 2013-10-03T18:45:03.730 に答える