Saturday, February 29, 2020

Re: Is it possible to extend the model in another application without explicitly changing firs-one?

Why are you trying to create the same table again and again with more or less attributes ?
I do not try to RE-create the table but to alter the existing one.

Sometimes following the pure pythonic way may limits what framework can do. But it does not mean that somewhere in the universe of the solutions there is a better way to organize things.
What I trying is to check if it is possible to use the same concepts implemented in Odoo ORM (https://github.com/odoo/odoo). I want to migrate from Odoo to Django due to the first has some limitations.

On Saturday, February 29, 2020 at 6:55:22 PM UTC+2, Naveen Arora wrote:
Hi again,

According to what i have understood the problem till now. You are trying to implement it the wrong way. This is not python, Everything is already built using classes, you are already overriding a class, then extending an overriden class seems complicated. Modularity and loose coupling can be achieved through a completely different way here. Be it clear, a model creates a table in the database. Why are you trying to create the same table again and again with more or less attributes ? 
Try implementing manytomany fields, foreign =key etc. This may solve your problem .

Regards
Naveen Arora

On Friday, 28 February 2020 18:33:20 UTC+5:30, Ol P wrote:
What are you trying to achieve with this implementation?
I want to achieve modularly and loose coupling. Separate responsibility in other words.

and What do you call a extended model ?
By extended model, I mean pat of an existing model, that implemented in one place (in out example app-A) but extended, altered or modified in another please (in out example app-B)

Instance of model1 is accesible in app2, this already means you got your model1 in app2.
Yes, but not the model itself.

On Friday, February 28, 2020 at 2:53:45 PM UTC+2, Naveen Arora wrote:
What are you trying to achieve with this implementation?
and What do you call a extended model ?
Instance of model1 is accesible in app2, this already means you got your model1 in app2.

Curious.


On Friday, 28 February 2020 18:20:12 UTC+5:30, Ol P wrote:
But how to add fields to it?

Where to put what:
from appA import model1


class ExtendedModel1(?):
   
?

    new_field
= models.CharFiled()

   
class Meta:
       
?


On Friday, February 28, 2020 at 2:23:17 PM UTC+2, Naveen Arora wrote:
Clearly Possible, 
Simply import the model first using appname.models. Hope it helps:)
You can use this as
from appA import model1
in app2

On Thursday, 27 February 2020 22:04:12 UTC+5:30, Ol P wrote:
Imagen we have app-A and app-B with model-A and model-B accordingly.
And we want to extend model-A in app-B.
What should be written in model-B to implement it?

In other words, is it possible to implement the same-table extension?

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d387e92b-5c8b-4728-b353-40ebe5a40b1f%40googlegroups.com.

No comments:

Post a Comment