Как сделать проект для нескольких компаний - django
Я сделал проект для отеля, но теперь я хочу сделать его динамическим для повторного использования другими отелями, я купил хороший хостинг план, я хочу сделать что-то вроде odoo приложения, одна база кода используется несколькими компаниями, Сейчас я зарегистрировал два отеля hotelA и hotelB, когда я захожу в hotelA, я хочу изменить все меню на hotelA и все номера, бронирование и т.д., связанные с hotelA, когда я захожу в hotelB, то тоже самое, я не хочу делать новые приложения для hotelB. Я создал категории отелей для определения новых отелей
class Hotels(models.Model):
hotel_name = models.CharField(max_length=40,unique=True)
def __str__(self):
return self.hotel_name
class Rooms(models.Model):
hotel= models.ForeignKey(Hotels,on_delete=models.PROTECT)
room_number = models.IntegerField()
beds = models.IntegerField(default=2)
class Meta:
constraints = [
models.UniqueConstraint(fields=['hotel','room_number'],name='full_information')
]
также у нас есть приложения для бронирования и посетителей, но они также имеют связь по внешнему ключу с приложением Hotels
, я сделал домашнюю страницу, которая показывает название отелей, когда я хочу получить доступ к отелюА, он показывает все, что относится к отелюА, и когда я хочу получить доступ к отелюВ, он показывает всю информацию, относящуюся к отелюВ
def hotels(request):
hotel_lists= Restaurants.objects.all()
return render(request,'hotel/lists.html',{'lists':hotel_lists})
#urls
path('',hotels,name='hotels'),
path('rooms/<str:hotel>',rooms,name='rooms'),
<div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3 pt-3">
{% for i in lists %}
<a href="{% url 'rooms:rooms' i.hotel_name %}"><button class="text-pink-500 bg-transparent border border-solid border-pink-500 hover:bg-pink-500 hover:text-white active:bg-pink-600 font-bold uppercase px-8 py-3 rounded outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type="button">
{{i.hotel_name }}
</button></a>
{% endfor %}
</div>
для первого хода работает нормально, но после первого хода у нас есть панель, я хочу изменить ее динамически
@login_required
def rooms(request,beds,hotel):
rooms = Room.objects.filter(beds=beds,hotel__hotel_name=hotel).order_by('room_no')
return render(request,'rooms/lists.html',{'rooms':rooms})
в моем файле main.html есть меню
<div class="z-50 h-screen overflow-y-scroll w-72 menunon header" id="menu">
<button class="absolute mr-4 text-white focus:outline-none left-4" onclick="changeMenu()">
<i class="text-2xl fas fa-bars"></i>
</button>
<div class="grid grid-cols-1 gap-5 mt-10">
<div class="border-b border-white">
<a onclick="showItemMenu('m0')" class="block p-2 text-center text-white transition duration-200 transform cursor-pointer hover:bg-white hover:text-indigo-800"><i class="fas fa-home"></i>{% trans "main" %}</a>
<div class="bgpurple menuitem" id="m0">
<a href="{% url 'rooms:hotels' %}" class="block p-2 text-center text-white transition duration-200 transform hover:bg-white hover:text-indigo-800"><i class="fas fa-home"></i>{% trans "hotels" %}</a>
<a href="{% url 'rooms:categories' hotel_name %}" class="block p-2 text-center text-white transition duration-200 transform hover:bg-white hover:text-indigo-800"><i class="fas fa-home"></i>{% trans "categories" %}</a>
<a href="{% url 'rooms:all_rooms' hotel_name %}" class="block p-2 text-center text-white transition duration-200 transform hover:bg-white hover:text-indigo-800"><i class="fas fa-list"></i>{% trans "all rooms" %}</a>
</div>
</div>
возможно ли это, пожалуйста? Спасибо