私はこのようなモデルを持っています:
core / models.py
class Country(models.Model):
name = models.CharField(maxlength=100)
今私はこのようなPythonの文字列表現を取得する必要があります: "core.country" これより簡単な方法はありますか?
>>> from core.models import Country
>>> model = ".".join([Country._meta.app_label, Country._meta.model_name])
>>> print model
"core.country"
私はこれもうまくいくことに気づいた:
model = unicode(Country._meta)
しかし、djangoがこれを変更する可能性があるので、私はそれを使いたくありません。
回答:
回答№1は2Django 1.9ではあなたが使うことができます label_lower
.
Django 1.8では、これまでと同様に文字列を手動で作成します。