Hi Mikael,

The problem is happening because of this: __init__() takes from 1 to 2
positional arguments but 11 were given

On your new __init__(), you added just 2 parameters: `self` and `source`.
But you overwrote the default `models.Model` init, which receives way more
parameters (the original signature for this function is `__init__(self,
*args, **kwargs)`).

What are you actually trying to achieve with this?

On Tue, Jun 26, 2018 at 1:17 PM, <mickael.ba...@gmail.com> wrote:

> 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(AbstractDataModel):
>
>
> pass
>
>
> class DataModelArchive(AbstractDataModel):
>     # 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/ac3a7a8f-f878-48b3-943a-eb47f6b03e7e%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/ac3a7a8f-f878-48b3-943a-eb47f6b03e7e%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
*Julio Biason*, Sofware Engineer
*AZION*  |  Deliver. Accelerate. Protect.
Office: +55 51 3083 8101 <callto:+555130838101>  |  Mobile: +55 51
<callto:+5551996209291>*99907 0554*

-- 
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/CAEM7gE2y%3DQHEJdbwUMbhmxDnY8%2BEHSVdUKUJtgbGTX2UgoWKSA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to