Comments (5)
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.
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.
@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.
Thanks for your help. I will give signals a try.
from django-service-objects.
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)
- Document the process method change for Service initialization. HOT 1
- Update HISTORY.md for new version PyPI release. HOT 1
- Document support for using a service in the admin view
- DRY defining form?!? HOT 2
- Add extensive support for DRF HOT 2
- Double validation ? HOT 2
- Create new release HOT 3
- How to use it with nested models for creation ?
- ExceptionHandler Mapper HOT 1
- MultipleModelField should accept other types as iterable not just list HOT 5
- The post_process() method is skipped if `db_transaction = False` HOT 5
- cannot import name 'six' from 'django.utils' HOT 2
- Usage with uploaded files HOT 1
- Custom cleaning of inputs HOT 1
- Translate messages and documents to russian language HOT 3
- Add support for validating None declared fields. HOT 3
- ImportError: cannot import name 'ungettext_lazy' from 'django.utils.translation' HOT 1
- MultipleModelField and ListField don't allow empty lists HOT 1
- ListField and DictField don't accept custom validators
- MultiModelField fails when validating large Querysets
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-service-objects.