בעיה עם sqlalchemy

אני מנסה לרשת ממחלקה Base, כדי להרחיב טבלה קיימת בדאטה בייס.
זאת המחלקה ממנה אני יורש


זאת הירושה שלי

מקבל את השגיאה שבצילום, כאשר אני מנסה לשמור יוזר בדיבי, דרך המחלקה היורשת.
כל השורות המסומנות קיימות במחלקה ממנה אני יורש.
ככה זה בדוקומנטציה:

זאת השגיאה בטקסט:
801: SAWarning: Column ‘user.id’ is marked as a member of the primary key for table ‘user’, but has no Python-side or server-side default generator indicated, nor does it indicate ‘autoincrement=True’ or ‘nullable=True’, and no explicit value is passed. Primary key columns typically may not store NULL.
util.warn(msg)
אשמח מאוד לעזרה אם מישהו מכיר את זה, כי לא מוצא על זה כלום בגוגל, בהקשר של sqlalchemy

אם אתה מוציא את id מהערה, זה עובד?

לא, מתקבלת שגיאה אחרת

… מה השגיאה האחרת?


כמו שאתה רואה, זאת לא ממש ‘שגיאה’ אלא יותר אזהרה. אבל אני לא מצליח לשמור ככה בדאטה בייס. הראוט מרונדר לי חזרה.

זה הריקווסט

זה הריספונס

אגב, הטבלה נוצרה בהצלחה ככה. ואני יכול לשמור דרך המודול ממנו אני יורש. אני מנסה למנוע מצב שכולם יצטרכו לתקן את הקוד, מאחר ושם המחלקה של של הסיפרייה הזאת שונה משלנו, ואותו לא ניתן לשנות(אני יודע שניתן… :))

זה נראה שזה פתר את הבעיה. אם אתה רוצה להפתר מה־warning (ראוי) קרא כאן (יצא ראשון בגוגל).

אחרי שפתרת את הבעיה הזו, אם יש בעיה בשמירה נראה שהיא במקום אחר. שכחת לעשות commit או משהו כזה.

אני אבדוק, יותר לעומק. אבל לפני בניית הדאטה בייס הממוזג הזה, עשיתי בדיקות, ואותה הבקשה בדיוק עבדה. זה לא ענין של קומיט. לא שיניתי כלום בקוד. אנסה לבדוק יותר לעומק את השדות שלהם, אולי יש התנגשות עם הגדרות הנתונים שלהם, לעומת מה שאני שולח. אבל אז, אם אני לא טועה, הייתי מקבל שגיאה מ- SQL

לייק 1

ים, ראיתי את הפתרון הזה עוד לפני כן. יש שני עניינים איתו:

  1. הם מגדירים טבלה שונה. זה לא המצב שלי. אני מוסיף על אותה טבלה.
  2. אני לא יכול להגדיר את id. לפחות לא בדרך ‘פשוטה’
    תיכנס לפה ותראה למה…
    fastapi-users/sqlalchemy.py at master · frankie567/fastapi-users · GitHub

אוקיי, ראיתי. ניסית לבדוק האם הפתרון הזה מעלים את השגיאה?

אם הכוונה שלך היא לזה, אז כן, כבר הכנסתי את זה לקוד כשהתאמתי את הגדרות הדאטה בייס

לייק 1