web2py ja Google App Engine - viikkotehtävä 6

Tehdään pienelle tietokannalle käyttöliittymä (vrt. vt4).

Tämän tehtävän toteuttaminen edellyttää vähintään seuraavien materiaalien ja tehtävien läpikäyntiä:

Oleellisimmat osat seuraavista on myös syytä lukea:

Yhteiset vaatimukset:

Taso 1

Toteuta sovellus, joka käyttää seuraavanlaista tietokantaa:

db.define_table('kilpailu',
  Field('nimi', 'string',length=512, required=True, unique=True, notnull=True,requires=IS_NOT_EMPTY()),
  Field('alkuaika', 'datetime', required=True, notnull=True,requires=IS_NOT_EMPTY()),
  Field('loppuaika', 'datetime', required=True, notnull=True, requires=IS_NOT_EMPTY()),
  Field('kesto','integer', required=True, notnull=True, requires=IS_NOT_EMPTY())
 )

db.kilpailu.kesto.requires = IS_INT_IN_RANGE(1, 100)

db.define_table('sarja',
  Field('kilpailu','reference kilpailu', required=True, notnull=True, requires=IS_NOT_EMPTY()),
  Field('nimi', 'string',length=512, required=True, notnull=True, requires=IS_NOT_EMPTY()),
  Field('kesto','integer', required=False, notnull=True, requires=IS_NOT_EMPTY())
 )

db.sarja.kilpailu.requires = IS_IN_DB(db, db.kilpailu.id,'%(nimi)s %(alkuaika)s %(loppuaika)s')
db.sarja.kilpailu.writable = db.sarja.kilpailu.readable = False

db.define_table('joukkue',
  Field('sarja','reference sarja', required=True, notnull=True, requires=IS_NOT_EMPTY()),
  Field('nimi', 'string',length=512, required=True, notnull=True, requires=IS_NOT_EMPTY()),
  Field('jasenet', 'list:string', required=True, notnull=True, requires=IS_NOT_EMPTY()),
 )

db.joukkue.sarja.requires = IS_IN_DB(db, db.sarja.id,'%(nimi)s')

Voit tarpeen mukaan parannella tietorakennetta esim. lisäämällä tarkistuksia, mutta yleisrakennetta ei saa muuttaa tai jo annettuja tarkistuksia ja rajoitteita ei saa poistaa.

Sovellus osaa seuraavat asiat:

Taso 3

Laajenna taso 1 -ohjelmaa seuraavilla ominaisuuksilla:

Taso 5

Laajenna taso 3 -ohjelmaa seuraavilla ominaisuuksilla:

Käyttäjien kommentit

Kommentoi Lisää kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/tiea2080/vt/vt6/
© 2018-04-23 14:05:03
Informaatioteknologia - Jyväskylän yliopiston informaatioteknologian tiedekunta