Code Monkey home page Code Monkey logo

Comments (5)

rhymes avatar rhymes commented on June 2, 2024

Why do you need the service object in the model?

If you look at the readme the service object controls and composes the models, not the other way around

from django-service-objects.

thaxy avatar thaxy commented on June 2, 2024

Well, I am not sure if I got the concept 100% right but I need to call some business logic every time a model changes. Even within the default admin page. When I look at the official Django documentation they advise people to override the save method. So I ended up with my code as shown above.

The reason why I have chosen to use django-service-objects is that my models start to get too big. That's why I searched for a way to separate my business logic from them.

from django-service-objects.

rhymes avatar rhymes commented on June 2, 2024

@thaxy I don't agree 100% with the idea of putting all the logic in the models. If you have to execute business logic everytime the model changes you can probably use signals: https://docs.djangoproject.com/en/2.0/topics/signals/

In the signal you call the service object and that's it.

from django-service-objects.

thaxy avatar thaxy commented on June 2, 2024

Thanks for your help. I will give signals a try.

from django-service-objects.

JackAtOmenApps avatar JackAtOmenApps commented on June 2, 2024

For anyone else stumbling upon this, you can refer to the model lazily to accomplish this. Something like this in your services file:

from django.apps import apps
Inside the service:

BitSensorInformation = apps.get_model(app_label="app_name", model_name="model_name") print(BitSensorInformation.objects.all())

from django-service-objects.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.