Cevapların çoğu eski olduğu için sizi Django 2.2'de güncellemeye çalışacağım.
İşte mesajlar- uygulamanız (mesajlar, blog, mağaza vb.)
1) Model bağlantısından: https://docs.djangoproject.com/en/2.2/ref/models/meta/
from posts.model import BlogPost
all_fields = BlogPost._meta.fields
#or
all_fields = BlogPost._meta.get_fields()
Bunu not et:
all_fields=BlogPost._meta.get_fields()
Ayrıca, örneğin: bir görünümde görüntüleyemediğiniz bazı ilişkiler elde edersiniz.
Benim durumumda olduğu gibi:
Organisation._meta.fields
(<django.db.models.fields.AutoField: id>, <django.db.models.fields.DateField: created>...
ve
Organisation._meta.get_fields()
(<ManyToOneRel: crm.activity>, <django.db.models.fields.AutoField: id>, <django.db.models.fields.DateField: created>...
2) Örnekten
from posts.model import BlogPost
bp = BlogPost()
all_fields = bp._meta.fields
3) Ana modelden
Üst model olarak Post'a sahip olduğumuzu ve bir listedeki tüm alanları görmek istediğinizi ve üst alanların Düzenleme modunda salt okunur olmasını istediğinizi varsayalım.
from django.contrib import admin
from posts.model import BlogPost
@admin.register(BlogPost)
class BlogPost(admin.ModelAdmin):
all_fields = [f.name for f in Organisation._meta.fields]
parent_fields = BlogPost.get_deferred_fields(BlogPost)
list_display = all_fields
read_only = parent_fields