Hello Julio, Ok, I see.
I try to create a way to archive (copy) the same object instance on an other DataBase. I followed this advice : # https://stackoverflow.com/ questions/21699707/python-how-to-copy-all-attibutes-from- base-class-to-derived-one 2018-06-27 14:56 GMT+02:00 Julio Biason <[email protected]>: > 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_f >> ields_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/ms >> gid/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 a topic in the > Google Groups "Django users" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/django-users/gHKY0BAcTi4/unsubscribe. > To unsubscribe from this group and all its topics, 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 > <https://groups.google.com/d/msgid/django-users/CAEM7gE2y%3DQHEJdbwUMbhmxDnY8%2BEHSVdUKUJtgbGTX2UgoWKSA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- 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/CAPLHwtwGKQm_%3DMaft4vNnFQjf00Cmyw8UkLdq6W_aAmi5KVNgQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

