Cómo obtener acceso a los diferentes modelos en la plantilla?
Tengo 3 modelos
Necesito cambiar las conexiones en los modelos, y hacer que el campo clave no un id, pero un nombre?
class Category(models.Model):
name = models.CharField(max_length=150, unique=True)
description = models.CharField(max_length=250)
class Company(models.Model):
name = models.CharField(max_length=150, unique=True)
country = models.CharField(max_length=50)
class Motobike(models.Model):
name = models.CharField(max_length=150)
company = models.ForeignKey('Company', on_delete=models.CASCADE)
category = models.ForeignKey('Category', on_delete=models.CASCADE)
Y pruebas: def test_category(programa de instalación): cliente = Cliente() category_id = Categoría.objetos.get(nombre='Мотоциклы').id respuesta = cliente.get(f'/categorías/{category_id}/') afirmar respuesta.status_code == 200 response_data = json.cargas(respuesta.contenido.decode('utf-8')) afirmar len(response_data) == 2 afirmar response_data[1]['name'] == 'Ninja Turbo' afirmar response_data[1]['proveedor'] == 'Kawasaki' afirmar response_data[1]['category'] == 'Мотоциклы' afirmar response_data[1]['description'] == "
response = client.get(f'/categories/25/')
assert response.status_code == 404
en vista, yo lo hago así:
class CategoryView(DetailView):
model = Category
template_name = 'bikes_site/categories_detail.html'
def get_context_data(self, id, **kwargs):
context = get_object_or_404(self.model, id)
context['motobikes'] = Motobike.objects.filter(category_id=id).all()
return context
Me sale un error: get_context_data() no requiere 1 argumento posicional: 'id'