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, <[email protected]> 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
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