Die SQLalchemy NOT NULL-Einschränkung ist für den Primärschlüssel fehlgeschlagenPython

Python-Programme
Anonymous
 Die SQLalchemy NOT NULL-Einschränkung ist für den Primärschlüssel fehlgeschlagen

Post by Anonymous »

Ich erstelle eine Inventardatenbank mit SQLalchemy, habe aber einige Probleme damit. Mein Code sieht so aus:

Code: Select all

@cross_origin
@app.route('/api/add_item_loan', methods=['POST'])
def add_item_loan():
data = request.get_json()
item = Item.query.filter_by(description=data['description']).first()
iid = item.iid
itemLoan = ItemUse(iid=iid, quantity=int(data['quantity']))
db.session.add(itemLoan)
db.session.commit()
return {'message': 'Loan added succesfully'}, 201
und meine models.py sieht so aus:

Code: Select all

class Item(db.Model):
__tablename__ = 'items'

iid = db.Column(db.Integer, primary_key=True)
description = db.Column(db.Text, nullable=False)
quantity = db.Column(db.Integer, nullable=False)

class ItemUse(db.Model):
__tablename__ = 'item_usage'

iuid = db.Column(db.Integer, primary_key=True)
iid = db.Column(db.Integer, db.ForeignKey('items.iid'), nullable=False)
quantity = db.Column(db.Integer, nullable=False)
start_date = db.Column(db.DateTime, default=date.today())
end_date = db.Column(db.DateTime, nullable=True)
und wenn ich versuche, ein Element hinzuzufügen, erhalte ich diese Fehlermeldung:

Code: Select all

sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL constraint failed: item_usage.iuid
[SQL: INSERT INTO item_usage (iid, quantity, start_date, end_date) VALUES (?, ?, ?, ?)]
[parameters: (1, 2, '2025-10-17 00:00:00.000000', None)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
Ich habe hier ein wenig gesucht und einiges ausprobiert, aber nichts scheint zu funktionieren.
Die Datenbank ist SQLite und ich verwende Flask Migrate.
Bearbeiten: Ich musste meinen Migrationsordner und meine Datenbank löschen, und jetzt funktioniert alles, gelöst

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post