Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Odoo Development Cookbook

You're reading from   Odoo Development Cookbook Build effective business applications using the latest features in Odoo 17

Arrow left icon
Product type Paperback
Published in May 2024
Publisher Packt
ISBN-13 9781805124276
Length 774 pages
Edition 5th Edition
Languages
Tools
Arrow right icon
Authors (6):
Arrow left icon
Holger Brunn Holger Brunn
Author Profile Icon Holger Brunn
Holger Brunn
Husen Daudi Husen Daudi
Author Profile Icon Husen Daudi
Husen Daudi
Daniel Reis Daniel Reis
Author Profile Icon Daniel Reis
Daniel Reis
Jay Vora Jay Vora
Author Profile Icon Jay Vora
Jay Vora
Parth Gajjar Parth Gajjar
Author Profile Icon Parth Gajjar
Parth Gajjar
Alexandre Fayolle Alexandre Fayolle
Author Profile Icon Alexandre Fayolle
Alexandre Fayolle
+2 more Show less
Arrow right icon
View More author details
Toc

Table of Contents (28) Chapters Close

Preface 1. Chapter 1: Installing the Odoo Development Environment FREE CHAPTER 2. Chapter 2: Managing Odoo Server Instances 3. Chapter 3: Creating Odoo Add-On Modules 4. Chapter 4: Application Models 5. Chapter 5: Basic Server-Side Development 6. Chapter 6: Managing Module Data 7. Chapter 7: Debugging Modules 8. Chapter 8: Advanced Server-Side Development Techniques 9. Chapter 9: Backend Views 10. Chapter 10: Security Access 11. Chapter 11: Internationalization 12. Chapter 12: Automation, Workflows, Emails, and Printing 13. Chapter 13: Web Server Development 14. Chapter 14: CMS Website Development 15. Chapter 15: Web Client Development 16. Chapter 16: The Odoo Web Library (OWL) 17. Chapter 17: In-App Purchasing with Odoo 18. Chapter 18: Automated Test Cases 19. Chapter 19: Managing, Deploying, and Testing with Odoo.sh 20. Chapter 20: Remote Procedure Calls in Odoo 21. Chapter 21: Performance Optimization 22. Chapter 22: Point of Sale 23. Chapter 23: Managing Emails in Odoo 24. Chapter 24: Managing the IoT Box 25. Chapter 25: Web Studio 26. Index 27. Other Books You May Enjoy

Adding relational fields to a model

Relational fields are used to represent relations between Odoo models. There are three types of relations:

  • many-to-one, or m2o for
  • one-to-many, or o2m for short
  • many-to-many, or m2m for short

To illustrate this, let’s consider the hostel room model. A room belongs to a single hostel, so the relation between the hostel and the room is m2o. However, a hostel can have multiple rooms, so the opposite relationship is o2m.

We can also have a m2m relationship. For instance, a room can offer various amenities and amenities can be available in different rooms. This is a bidirectional m2m relationship.

Getting ready

We will continue using the my_hostel add-on module from the previous recipe.

How to do it...

We will edit the models/hostel_room.py file to add these fields:

  1. Add the m2o field for the hostel in Hostel Room:
    class HostelRoom(models.Model):
        
    # ...
        ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime