Code: Alles auswählen
class Checkliste(models.Model):
liste = models.CharField(max_length=80)
Code: Alles auswählen
class Checkliste(models.Model):
liste = models.CharField(max_length=80)
Code: Alles auswählen
class Audit_Ereignis(models.Model):
checkliste = models.ForeignKey(Checkliste, on_delete=models.CASCADE)
objektort = models.ForeignKey(ObjektOrt, on_delete=models.CASCADE)
pruefpunkt = models.ForeignKey(Audit, on_delete=models.CASCADE)
ok = models.CharField(max_length=3, choices=oknok.choices, default=oknok.ok)
mangel = models.ForeignKey(MangelArt, on_delete=models.CASCADE,)
frist = models.DateField()
behoben = models.DateTimeField()
von = models.ForeignKey(Benutzer, on_delete=models.CASCADE)
Code: Alles auswählen
def import_csv(request):
if request.method == 'POST':
form = CSVImportForm(request.POST, request.FILES)
if form.is_valid():
csv_file = request.FILES['csv_file'].read().decode('utf-8').splitlines()
csv_reader = csv.DictReader(csv_file, delimiter=",")
for row in csv_reader:
Audit_Ereignis.objects.create(
checkliste=row["checkliste"],
objektort=row['objektort'],
pruefpunkt=row['pruefpunkt'],
ok=row['ok'],
mangel=row['mangel'],
frist=row['frist'],
behoben=row['behoben'],
von=['ok'],
)
return redirect('csv/home') # Redirect to a success page
else:
form = CSVImportForm()
return render(request, 'csv/import.html', {'form': form})
Code: Alles auswählen
File "D:\drive\soft\pycharm\djangoHACCP\.venv\Lib\site-packages\django\db\models\fields\related_descriptors.py", line 284, in __set__
raise ValueError(
ValueError: Cannot assign "'Checkliste A'": "Audit_Ereignis.checkliste" must be a "Checkliste" instance.
[19/Mar/2024 20:46:27] "POST /import-csv/ HTTP/1.1" 500 90068
Code: Alles auswählen
class Checkliste(models.Model):
liste = models.CharField(max_length=80)
Code: Alles auswählen
Audit_Ereignis.objects.create(
checkliste_id=row["checkliste"],
objektort_id=row['objektort'],
pruefpunkt_id=row['pruefpunkt'],
ok=row['ok'],
mangel_id=row['mangel'],
frist=row['frist'],
behoben=row['behoben'],
von_id=['ok'],
)
Code: Alles auswählen
File "D:\drive\soft\pycharm\djangoHACCP\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 2119, in get_prep_value
raise e.__class__(
ValueError: Field 'id' expected a number but got 'Checkliste A'.
[20/Mar/2024 06:17:16] "POST /import-csv/ HTTP/1.1" 500 148922
Code: Alles auswählen
for row in csv_reader:
Audit_Ereignis.objects.create(
checkliste=Checkliste.objects.get(name=row["checkliste"]),
pruefpunkt=Audit.objects.get(name=row['pruefpunkt']),
ok=oknok.objects.get(name=row['ok']),
objektort=ObjektOrt.objects.get(name=row['objektort']),
mangel=MangelArt.objects.get(name=row['mangel']),
frist=row['frist'],
behoben=row['behoben'],
von=Benutzer.objects.get(name=row['von']),
Code: Alles auswählen
class Checkliste(models.Model):
liste = models.CharField(max_length=80)
Code: Alles auswählen
.CharField(max_length=64, unique=True)
.ForeignKey(Country, to_field='name', default="Checkliste A'')