0
我的應用程序不會寫入數據庫中的所有數據。在下面的例子中,輸入數據庫名稱。所有字段選擇下拉列表不記錄在數據庫中。請幫助Appengine表格選項從db.Model中選擇
我有一個模型Docente
ESCOLHA_SEXO = (u'masculino', u'feminino')
CHOICES_UNIDADE = ('Escola Superior de Tecnologia', 'Escola Superior de Gestao')
CHOICES_CATEGORIA = ('assistente', 'coordenador', 'adjunto')
CHOICES_REGIME = ('trinta', 'cinquenta', 'sessenta', 'cem')
class Docente(db.Model):
photo=db.BlobProperty(u'photo')
docente_nome = db.StringProperty(u'docente_nome',
required=False)
docente_unidade = db.StringProperty(u'docente_unidade',
required=False,
default='Escola Superior de Tecnologia',
choices = CHOICES_UNIDADE)
docente_categoria = db.StringProperty(u'docente_categoria',
default='assistente',
choices =CHOICES_CATEGORIA)
docente_regime = db.StringProperty(u'docente_regime',
required=False,
choices =CHOICES_REGIME)
utilizador=db.ReferenceProperty(Utilizador,
verbose_name=u'utilizador',
required=False,
collection_name='utilizadores')
這是我的主:
class CriarCvHandler(webapp.RequestHandler):
def post(self):
if self.request.get('EscDocente'):
id = int(self.request.get('EscDocente'))
docente=models.Docente.get(db.Key.from_path('Docente', id))
else:
docente = models.Docente()
data=forms.DocenteForm(data = self.request.POST)
if data.is_valid():
if self.request.get('photo'):
docente.docente_nome=self.request.get('docente_nome')
docente.docente_unidade=self.request.get('docente_unidade')
docente.docente_categoria=self.request.get('docente_categoria')
docente.docente_regime=self.request.get('docente_regime')
listaUtlz = models.Utilizador.all()
listaUtlz.filter('user =', users.get_current_user())
for utilizador in listaUtlz:
docente.utilizador=utilizador.key()
docente.put()
self.redirect('/academia')
else:
self.redirect('/criarCv')
def get(self):
user=users.get_current_user()
if user:
greeting= ("<ul><li><strong><b>Benvindo %s </b></strong>|</li><li><a href=\"/perfil\"> Minha Conta </a>|</li><li><a href=\"%s\"> Logout</a></li></ul>" %(user.nickname(), users.create_logout_url("/")))
else:
greeting = ("<ul><li><a href=\"%s\">Login</a></li></ul>" %(users.create_login_url("/")))
conjUnidade=models.Docente.docente_unidade.choices
conjCategoria=models.Docente.docente_categoria.choices
conjRegime=models.Docente.docente_regime.choices
utilizador=db.Query(models.Utilizador)
utilizador=utilizador.filter('user =', user)
listaUtlz=utilizador.fetch(limit=1)
if self.request.GET.has_key('id'):
id=int(self.request.GET['id'])
EscDocente=models.Docente.get(db.Key.from_path('Docente', id))
path = os.path.join(os.path.dirname(__file__), 'templates/criarCv.html')
self.response.out.write(template.render(path, locals(), debug = True))
這是我的模板: 諾姆Docente:
<tr>
<td>Unidade: </td>
<td>
<select name="docente_unidade">
{% for docente_unidade in conjUnidade %}
<option selected> {{ docente_unidade }} </option>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td>Categoria: </td>
<td>
<select name="categoria">
<option></option>
{% for docente_categoria in conjCategoria %}
{% ifequal EscDocente.docente_categoria docente_categoria %}
<option selected> {{ docente_categoria }} </option>
{% else %}
<option> {{ docente_categoria }} </option>
{% endifequal %}
{% endfor %}
</select>
</td>
</tr>
<td>Regime: </td>
<td>
<select name="regime">
<option></option>
{% for docente_regime in conjRegime %}
{% ifequal EscDocente.docente_regime docente_regime %}
<option selected> {{ docente_regime }} </option>
{% else %}
<option> {{ docente_regime }} </option>
{% endifequal %}
{% endfor %}
</select>
</td>
<tr>
<td></td>
<td>
<input type="button" value="Guardar" onclick="guardaCv()" />
歡迎來到SO。我認爲你的一些模板不包括在內。請在將來使用代碼格式化按鈕或ctrl-k。 – bernie 2010-08-14 22:27:31