у меня моделька одна-ко многим которая выступает в качестве foreginkey для другой модельки. Например есть у нас одно-ко-многим «самсунг»,как вывести определенную модель «галакси-с-9»?
Точнее все модели чье foreginkey равно «самсунг»
не уверен, что понял вопрос, но кажется типа blog.entry_set: https://docs.djangoproject.com/en/3.1/ref/models/relations/ суфикс _set
samsung = Brand.objects.get(name='Samsung') all_models = Model.objects.filter(brand=samsung)
Оххх не,тут я начал копаться и понял что совсем все плохо. Итак: В общем суть такая: есть например модель одно-ко-многим „python”,а она выступает в качестве foreginkey и необходимо переходить на все записис с этой моделью. Проблема в том что как записей,так и моделей одно-ко-многому может быть произвольное количество. Не создавать же под каждую категорию все ручками?
ты задаешь вопрос слишком неконкретно, проще напиши примерно модели и поля, какие данные есть и какие хочешь получить
models.py class Category(models.Model): owner = models.ForeignKey(User, on_delete=models.CASCADE) target = models.CharField(max_length=100) def __str__(self): return self.target pass class Step(models.Model): category = models.ForeignKey(Category, on_delete=models.CASCADE) name = models.CharField(max_length=150) description = models.TextField() def __str__(self): return self.name views.py def addTarg(request): if request.method == "POST": form = Steping(request.POST) if form.is_valid(): form.save() return render(request, 'roadtrip/addsucces.html') else: print(form.errors) else: form = Steping() return render(request, 'roadtrip/addtarg.html', { 'form' : form}) def addCat(request): if request.method == "POST": form = Cat(request.POST) if form.is_valid(): cat = form.save(commit=False) cat.owner = request.user cat.save() return render(request, 'roadtrip/addsucces.html') else: print(form.errors) else: form = Cat() return render(request, 'roadtrip/addcat.html', { 'form' : form}) def unit_detail(request): category = Category.objects.get(tar=target) unit = Step.objects.filter(category=request.user) return render(request, 'roadtrip/roadunit.html', {'unit' : unit}) Как-то так по моделям/вьюшке
unit = Step.objects.filter(category__owner=request.user)
и код нужно кидать на пасту, например dpaste.org
Охх,спасибо! И да,простите за пасту!!
только непонятно еще нужна ли тебе категория, если да - можно также добавить в условие ее
Но уже решил))) Отлавливал по ссылке pk нужной мне категории,а во вьюшке использовал ее в качестве фильтра по моделям
Обсуждают сегодня