I have the following model:
class CommonModel(models.Model):
"""
Default Common Variables In Database
"""
class Meta:
abstract = True
created_by = models.ForeignKey(User,
related_name="%(app_label)s_%(class)s_created_by",
null=True, blank=True,on_delete=models.SET(get_sentinel_user))
modified_by = models.ForeignKey(User,
related_name="%(app_label)s_%(class)s_modified_by",
null=True, blank=True,on_delete=models.SET(get_sentinel_user))
deleted_by = models.ForeignKey(User,
related_name="%(app_label)s_%(class)s_deleted_by",
null=True, blank=True,on_delete=models.SET(get_sentinel_user))
is_deleted = models.BooleanField(default=False)
created_date = models.DateTimeField(blank=True)
deleted_date = models.DateTimeField(null=True, blank=True)
modified_date = models.DateTimeField(auto_now=True)
class Article(CommonModel):
title = models.CharField(max_length=256)
intro_image = models.ImageField(null=True, blank=True, upload_to=doc_hash)
description = models.TextField(null=True, blank=True)
url = models.CharField(max_length=256, null=True, blank=True)
slug = models.SlugField(editable=False)
I am trying the following in ipython
> Article._meta.get_fields()
(<django.db.models.fields.AutoField: id>,
<django.db.models.fields.related.ForeignKey: created_by>,
<django.db.models.fields.related.ForeignKey: modified_by>,
<django.db.models.fields.related.ForeignKey: deleted_by>,
<django.db.models.fields.BooleanField: is_deleted>,
<django.db.models.fields.DateTimeField: created_date>,
<django.db.models.fields.DateTimeField: deleted_date>,
<django.db.models.fields.DateTimeField: modified_date>,
<django.db.models.fields.CharField: title>,
<django.db.models.fields.files.ImageField: intro_image>,
<django.db.models.fields.TextField: description>,
<django.db.models.fields.CharField: url>,
<django.db.models.fields.SlugField: slug>
I try with include_parents=False
> Article._meta.get_fields(include_parents=False)
(<django.db.models.fields.AutoField: id>,
<django.db.models.fields.related.ForeignKey: created_by>,
<django.db.models.fields.related.ForeignKey: modified_by>,
<django.db.models.fields.related.ForeignKey: deleted_by>,
<django.db.models.fields.BooleanField: is_deleted>,
<django.db.models.fields.DateTimeField: created_date>,
<django.db.models.fields.DateTimeField: deleted_date>,
<django.db.models.fields.DateTimeField: modified_date>,
<django.db.models.fields.CharField: title>,
<django.db.models.fields.files.ImageField: intro_image>,
<django.db.models.fields.TextField: description>,
<django.db.models.fields.CharField: url>,
<django.db.models.fields.SlugField: slug>
It shows the same results.
I think it should not show the fields inherited from the CommonModel
Can some explain what does include_parents=False in this case will do.