mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 05:54:25 +08:00
Properly implement inheritance for Django models
This commit is contained in:
@@ -110,7 +110,7 @@ def _new_dict_filter(cls):
|
||||
filters = cls.get_filters(is_instance=True, include_metaclasses=False)
|
||||
dct = {
|
||||
name.string_name: DjangoModelName(cls, name)
|
||||
for filter_ in filters
|
||||
for filter_ in reversed(list(filters))
|
||||
for name in filter_.values()
|
||||
}
|
||||
manager = _create_manager_for(cls)
|
||||
|
||||
@@ -44,6 +44,7 @@ class BusinessModel(models.Model):
|
||||
# -----------------
|
||||
|
||||
model_instance = BusinessModel()
|
||||
|
||||
#? int()
|
||||
model_instance.integer_field
|
||||
#? int()
|
||||
@@ -121,6 +122,31 @@ model_instance.objects.update(x='')
|
||||
#? BusinessModel()
|
||||
model_instance.objects.create()
|
||||
|
||||
# -----------------
|
||||
# Inheritance
|
||||
# -----------------
|
||||
|
||||
class Inherited(BusinessModel):
|
||||
text_field = models.IntegerField()
|
||||
new_field = models.FloatField()
|
||||
|
||||
inherited = Inherited()
|
||||
#? int()
|
||||
inherited.text_field
|
||||
#? str()
|
||||
inherited.char_field
|
||||
#? float()
|
||||
inherited.new_field
|
||||
|
||||
#? str()
|
||||
inherited.category_fk2.category_name
|
||||
#? str()
|
||||
inherited.objects.get().char_field
|
||||
#? int()
|
||||
inherited.objects.get().text_field
|
||||
#? float()
|
||||
inherited.objects.get().new_field
|
||||
|
||||
# -----------------
|
||||
# Django Auth
|
||||
# -----------------
|
||||
|
||||
Reference in New Issue
Block a user