mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-08 14:54:47 +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)
|
filters = cls.get_filters(is_instance=True, include_metaclasses=False)
|
||||||
dct = {
|
dct = {
|
||||||
name.string_name: DjangoModelName(cls, name)
|
name.string_name: DjangoModelName(cls, name)
|
||||||
for filter_ in filters
|
for filter_ in reversed(list(filters))
|
||||||
for name in filter_.values()
|
for name in filter_.values()
|
||||||
}
|
}
|
||||||
manager = _create_manager_for(cls)
|
manager = _create_manager_for(cls)
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ class BusinessModel(models.Model):
|
|||||||
# -----------------
|
# -----------------
|
||||||
|
|
||||||
model_instance = BusinessModel()
|
model_instance = BusinessModel()
|
||||||
|
|
||||||
#? int()
|
#? int()
|
||||||
model_instance.integer_field
|
model_instance.integer_field
|
||||||
#? int()
|
#? int()
|
||||||
@@ -121,6 +122,31 @@ model_instance.objects.update(x='')
|
|||||||
#? BusinessModel()
|
#? BusinessModel()
|
||||||
model_instance.objects.create()
|
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
|
# Django Auth
|
||||||
# -----------------
|
# -----------------
|
||||||
|
|||||||
Reference in New Issue
Block a user