Forum
>>
Programmazione Python
>>
Web e Reti
>>
[RISOLTO]: Django Problema Models
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da LeoX |
2019-06-03 10:50:13 - [RISOLTO]: Django Problema Models
|
Ciao a tutti,
ho creato un models: from django.db import models from django.core.validators import URLValidator from django.contrib.auth.models import User import datetime class MarcheAuto(models.Model): marca = models.CharField(max_length=150, unique=True, blank=True, null=True) logo = models.TextField(blank=True, null=True) class Meta: verbose_name = "Marche auto" verbose_name_plural = "Marche Auto" def __str__(self): return self.marca tipologia = {1:"Auto", 2:"Moto", 3:"Altro"} class ParcoAuto(models.Model): marca = models.CharField(max_length=150, blank=True, null=True) modello = models.CharField(max_length=150, blank=True, null=True) tipo = models.IntegerField(blank=True, null=True) class Meta: verbose_name = "Modelli Auto" verbose_name_plural = "Modelli Auto" def __str__(self): return f'{self.marca} - {self.modello} ({tipologia[self.tipo]})' ANNO_CHOICES = [] for r in range(1930, (datetime.datetime.now().year+1)): ANNO_CHOICES.append((r,r)) class ParcoAutoUtente(models.Model): utente = models.ForeignKey(User, on_delete = models.CASCADE) auto = models.ForeignKey(ParcoAuto, on_delete = models.CASCADE) anno = models.IntegerField(choices=ANNO_CHOICES, default=datetime.datetime.now().year) cilindrata = models.IntegerField(blank=True, null=True) alimentazione = models.CharField(max_length=40, blank=True, null=True) kw = models.IntegerField(blank=True, null=True) classe_euro = models.CharField(max_length=5, blank=True, null=True) emissioni_co2 = models.CharField(max_length=20, blank=True, null=True) consumo_km = models.CharField(max_length=20, blank=True, null=True) colore = models.CharField(max_length=50, blank=True, null=True) porte = models.IntegerField(blank=True, null=True) posti = models.IntegerField(blank=True, null=True) massa = models.CharField(max_length=5, blank=True, null=True) larghezza = models.IntegerField(blank=True, null=True) lunghezza = models.IntegerField(blank=True, null=True) altezza = models.IntegerField(blank=True, null=True) ultima_revisione = models.DateField(blank=True, null=True) descrizione = models.TextField(blank=True, null=True) prezzo = models.DecimalField(max_digits=10, decimal_places=2, blank=True, null=True) class Meta: verbose_name = "Parco auto utente" verbose_name_plural = "Parco Auto utente" def __str__(self): return self.auto class ImmaginiAuto(models.Model): auto = models.ForeignKey(ParcoAutoUtente, on_delete = models.CASCADE) immagine = models.CharField(max_length=255, blank=True, null=True) video = models.CharField(max_length=255, validators=[URLValidator()]) class Meta: verbose_name = "Immagini Auto" verbose_name_plural = "Immagini Auto" def __str__(self): return self.immagineEffettuato il makemigration e migration... tutto ok. Ho anche creato l'admin.py (credo che il codice dell'admin non sia importante, se dovesse servire lo inserirò). Funziona tutto regolarmente, eccetto che per l'inserimento di un "ParcoAutoUtente". Ritorna questo errore: TypeError: __str__ returned non-string (type ParcoAuto) Cosa significa? In genere dovrebbe ritornare un errore di tipo str, ma type ParcoAuto? Qualcuno saprebbe aiutarmi. Vi ringrazio e vi saluto. --- Ultima modifica di LeoX in data 2019-06-03 11:42:08 --- |
|
Scritto da LeoX |
2019-06-03 11:29:05 - [RISOLTO]: Re: Django Problema Models
|
Ho risolto,
in ParcoAutoUtente il return è un oggetto > return self.auto mentre andrebbe un str: > return str(self.auto) Grazie ugualmente. --- Ultima modifica di LeoX in data 2019-06-03 11:29:20 --- |
Pagina: 1
Esegui il login per scrivere una risposta.