Ich mache eine Beispiel-App in web2py. Welche Kunde, Produkt und Bill, wie unten gezeigtWie man Rechnung in web2py erzeugt/druckt?
db=DAL('sqlite://Navale.db')
db = DAL(lazy_tables=True)
STATE= ('Andaman and Nicobar Islands','Andhra Pradesh','Arunachal Pradesh','Assam','Bihar','Chandigarh',' Chhattisgarh','Dadra and Nagar Haveli','Daman and Diu','Delhi','Goa','Gujrat','Haryana','Himachal Pradesh','Jammu and Kashmir','Jharkhand',' Karnataka','Kerala','Lakshadeep','Madhya Pradesh','Maharashtra','Manipur','Meghalaya','Mizoram','Nagaland','Odisha','Puducherry','Punjab','Rajasthan','Sikkim','Tamil Nadu','Telangana','Tripuru',' Uttar Pradesh','Uttarakhand','West Bengal')
db.define_table('Customer',
Field('Customer_ID', type='id', requires=IS_NOT_EMPTY()),
Field('Customer_Type', requires=IS_IN_SET(['Retail','Local'])),
Field('Name', type='string', requires=IS_NOT_EMPTY()),
Field('Contact_Number', type='integer', requires=IS_NOT_EMPTY()),
Field('Address', type='string'),
Field('City', type='string', requires=IS_NOT_EMPTY()),
Field('State', requires=IS_IN_SET(STATE)),
Field('PIN', type='integer', requires=IS_NOT_EMPTY())
)
db.define_table('Product',
Field('Product_ID', requires=IS_NOT_EMPTY()),
Field('Product_Name'),
Field('Category', requires=IS_IN_SET(['Gents', 'Ladies', 'Kids'])),
Field('Rate', type='double'))
db.define_table ('Bill',
Field('Bill_ID', type='id', requires=IS_NOT_EMPTY()),
Field('Date', type='datetime'),
Field('Customer_ID', db.Customer),
Field('Customer_Name', db.Customer),
Field('Total_cost', type='double'))
Wenn ich versuche hinzufügen Kundennamen in 'Bill' es zeigt Fehler
Ich möchte generieren/print beinhaltet eine Rechnung, die Kundendetails, Produkt Informationen (wie Produktname, Produkttyp, Menge, Preis) und Gesamtpreis aller Produkte hat.
Hilf mir.
Hinweis: - Hier besteht Bill aus dynamischen Werten von Produkten. Das bedeutet, Bill kann 1/2/3 /.../ n Anzahl der Produkte haben.
Wie Kundeninformationen von Customer_ID in Rechnung ableiten? –
Siehe bearbeitete Antwort. Sie können eine Join- oder rekursive Auswahl verwenden. – Anthony