Как я могу организовать структуру ввода таблиц городов/ресторанов в базе данных Django?
Добрый день! У меня есть план структуры базы данных.
Пример приведен на рисунке ниже.
Например, у меня есть - все кофейни - в пределах одного региона - штата или нескольких регионов.
В одном городе есть несколько кафе. Всего может быть 200 кафе в 10 городах.
Проблема заключается в том, как ввести данные о кафе в таблицы базы данных.
А также при необходимости измените их. Введите данные через формы.
У каждого кафе также есть следующие параметры - адрес, интернет-страница, прибыльность, доходность, количество сотрудников, т.е. данные, относящиеся к одному кафе. А также персонал и меню.
Я думаю, сначала ввести города, в которых будут кафе. А затем ввести названия кафе.
И даже позже другие параметры через другие формы.
Как я могу сделать так, чтобы на втором этапе вводилось только имя, адрес, а затем последовательно заполнялись другие данные?
Как я могу организовать структуру ввода таблиц городов / ресторанов в базе данных Django?
from django.db import models
# Create your models here.
class CityCafe (models.Model):
city = models.CharField(verbose_name="City")
class ObjectCafe (models.Model):
name = models.TextField(verbose_name="Cafe Name")
name_city = models.ForeignKey(CityCafe)
class BaseParametrCafe (models.Model):
# type_object = models.Choices
# type_working = models.Choices
value_budget = models.FloatField
name_object = models.OneToOneField(ObjectCafe, null=False, on_delete=models.CASCADE)
from django import forms
from models import *
class FormCites (forms.ModelForm):
class Meta:
model = CityCafe
fields = "__all__"
class FormObjects (forms.ModelForm):
class Meta:
model = ObjectCafe
fields = "__all__"
class FormObjectsParametr (forms.ModelForm):
class Meta:
model = BaseParametrCafe
fields = "__all__"
from django.shortcuts import render
from models import *
from forms import *
def form_cites_view (request):
form = FormCites(request POST or None)
if form.is_valid():
post = form.save()
post.save()
return render(request, "form_1.html", {"form": form})
# Create your views here.
введите описание изображения здесь
введите описание изображения здесь
Вы захотите использовать OneToOneFields для связи, чтобы гарантировать, что в вашей таблице есть не более одной из строк каждой другой таблицы:
https://docs.djangoproject.com/en/5.1/topics/db/examples/one_to_one/#one-to-one-relationships
Чтобы сделать все это с помощью форм, вам нужно будет ознакомиться с типовыми наборами форм.