我只想收集字段名称类型为datetime
_meta.get_fields()
Model.py:
class testmodel (models.Model):
name = models.CharField(max_length=200)
field = models.CharField('field', max_length=50, choices=(), default=None)
create_time = models.DateTimeField(null=True,blank=True)
complete_time = models.DateTimeField(null=True,blank=True)
admin.py:
all_fields = [f.name for f in testmodel._meta.fields]
class myform(forms.ModelForm):
field = forms.ChoiceField(choices=all_fields)
name = forms.TextInput()
class MyModelAdmin(admin.ModelAdmin):
fields = ('name', 'field',)
list_display = ('name', 'field',)
form = myform
admin.site.register(testmodel,MyModelAdmin)
对此有什么解决方案?
答案 0 :(得分:1)
将 列表理解 用作
from django.db.models import DateTimeField
datetime_model_fields = [field for field in MyModelClass._meta.get_fields() if isinstance(field, DateTimeField)]