Turbogears2/sqlalchemy: إدخال صف جديد في جدول مع مفتاح أولي تلقائي

StackOverflow https://stackoverflow.com/questions/1366295

سؤال

أنا noob وأحاول أن أحصل على رأسي حول TG2 و SQLAlchemy. المشكلة المحددة التي أتصارع معها في الوقت الحالي هي كيفية إدخال صف جديد في جدول عندما يتم تكوين حقل PK على أنه تلقائي.

علي سبيل المثال:

في ملف myproject.model.myproject.py ، حددت الجدول التالي:

class Dj(DeclarativeBase):
    __tablename__ = 'djs'

    #{ Columns

    djID = Column(Integer,  autoincrement=True, primary_key=True)
    djname = Column(String)
    djwebpage = Column(String)
    #}

في ملف websetup.py الخاص بي ، قمت بتعبئته ببعض البيانات الأولية. نظرًا لأن هذا هو الصف الأول من البيانات ، فقد خدعت وحددت للتو DJID ليكون "1"

dj = model.Dj("1", "DJ Anonymous", "http://www.djanonymous.com")

إذا أردت أن تقوم WebSetup.py بإنشاء صف ثانٍ في جدول الدي جي (عبر كائن دي جي) كيف يمكنني القيام بذلك؟

سبق أن جربت عددًا من الأشياء المختلفة ولم يكن لدي حظ. على سبيل المثال ، إذا استخدمت نفس التنسيق ، لكنني شملت فقط سلسلتين (لأعمدة DJName و DJWEBPAGE) أحصل على خطأ في الشكوى من أنني لم أعطيه حججًا كافية.

بالطبع ، في النهاية ، أحتاج إلى معرفة كيفية إنشاء وحدة تحكم للسماح لي بإدراج إدخالات جديدة في الطاولة ... لكنني سأتخذ تعليمي خطوة في وقت واحد وأن أكون ممتنًا لمجرد تمزيقها مسبقًا جدول مع صفوف متعددة عبر ملف websetup.py. نأمل أن يعطيني هذا القرائن للسماح لي بالاتخاذ إلى الخطوة التالية.

شكرا لك مقدما!

هل كانت مفيدة؟

المحلول

حسنًا ، مشكلتك ببساطة (أنا معجب ، لم تتم الإجابة عليه لفترة طويلة :).

  • أولا لماذا اسم عمود المعرف الخاص بك "djid"؟ لماذا ليس مجرد معرف؟
  • الثاني أنت لا أدخله ، وهذا هو السبب في أنها تلقائية.
  • ثالث الأساسي الأول يشرح البرنامج التعليمي SA هذا
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top