Hi all :-) I'd like to archive some data.
I did that : class AbstractDataModel(models.Model): xxx class Meta: abstract = True def __iter__(self): return iter([self.xxx, self.yyy, self.zzz, self.aaa, self.qqq, self.mode_bbb]) class DataModel(DataModel): pass class DataModelArchive(DataModel): # https://stackoverflow.com/questions/21699707/python-how-to-copy-all-attibutes-from-base-class-to-derived-one def __init__(self, source=None): if source is not None: self.__dict__.update(source.__dict__) But when I want to access data in DataModelArchive, like DataModelArchive.objects.all() for example, I get Traceback (most recent call last): File "/home/.../tests.py", line 1090, in test_archive print(DataModelArchive.objects.all()) File "/home/.../venv/lib/python3.6/site-packages/django/db/models/query.py", line 248, in __repr__ data = list(self[:REPR_OUTPUT_SIZE + 1]) File "/home/.../venv/lib/python3.6/site-packages/django/db/models/query.py", line 272, in __iter__ self._fetch_all() File "/home/.../venv/lib/python3.6/site-packages/django/db/models/query.py", line 1179, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/home/.../venv/lib/python3.6/site-packages/django/db/models/query.py", line 63, in __iter__ obj = model_cls.from_db(db, init_list, row[model_fields_start: model_fields_end]) File "/home/.../lib/python3.6/site-packages/django/db/models/base.py", line 507, in from_db new = cls(*values) TypeError: __init__() takes from 1 to 2 positional arguments but 11 were given What am I doing wrong ? Thx -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/42c0ac75-5255-4573-95cc-097f8b61fe17%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.