Database Web2py评级小部件(其中5个,在同一行中)

Database Web2py评级小部件(其中5个,在同一行中),database,widget,web2py,rating,Database,Widget,Web2py,Rating,我有一个新问题 我已经做了我的小部件,但现在我想在我的数据库中的5个类别5评级小部件的 我的数据库中有此列(命名为places.categ): 我的谷歌地图上有21个标记,每一个都是一个类别。(a、b、c、d或e) 如何将5个评级小部件按类别关联到这21个标记?我所能做的就是: db.define_table('product', Field('A', 'integer',requires=IS_IN_SET(range(1,6))), Field('B', 'integer',requ

我有一个新问题

我已经做了我的小部件,但现在我想在我的数据库中的5个类别5评级小部件的

我的数据库中有此列(命名为places.categ):

我的谷歌地图上有21个标记,每一个都是一个类别。(a、b、c、d或e)

如何将5个评级小部件按类别关联到这21个标记?我所能做的就是:

db.define_table('product',
Field('A', 'integer',requires=IS_IN_SET(range(1,6))), 
   Field('B', 'integer',requires=IS_IN_SET(range(1,6))),
   Field('C', 'integer',requires=IS_IN_SET(range(1,6))),
   Field('D', 'integer',requires=IS_IN_SET(range(1,6))),
   Field('E', 'integer',requires=IS_IN_SET(range(1,6))))
我在models/db.py中有此代码,在controllers/default.py中有此代码:

from plugin_rating_widget import RatingWidget

# Inject the widgets
db.product.A.widget = RatingWidget()
db.product.B.widget = RatingWidget()
db.product.C.widget = RatingWidget()
db.product.D.widget = RatingWidget()
db.product.E.widget = RatingWidget()




# form2 = SQLFORM.factory(
   # Field('Rating','integer',widget=SQLFORM.widgets.RatingWidget))

   # if form2.process().accepted:
   #     print form2.vars.search



form2 = SQLFORM(db.product)
if form2.accepts(request.vars, session):
    session.flash = 'submitted %s' % form2.vars
    redirect(URL('index'))
我有5个评级小部件,但它们与我的数据库没有关联,它们是垂直的(5行),而不是1行,就像我想要的那样

蒂亚


附言:我上传了插件评级小部件。

我用另一种方式解决了这个问题。我使用以下代码获取每个类别的颜色:

var amarelo = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_yellow.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var vermelho = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_red.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var verde = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_green.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var azul = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_blue.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var branco = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_white.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var sombra = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_shadow.png",
  new google.maps.Size(22, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
我以以下一种颜色授予每个类别(示例):

我还有3个“else-if”和最后一个else,最后一个颜色属于我的最后一个类别


无论如何,谢谢你

有人吗?我真的需要帮助。
var amarelo = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_yellow.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var vermelho = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_red.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var verde = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_green.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var azul = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_blue.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var branco = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_white.png",
  new google.maps.Size(12, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
var sombra = new google.maps.MarkerImage(
  "http://labs.google.com/ridefinder/images/mm_20_shadow.png",
  new google.maps.Size(22, 20),
  new google.maps.Point(0, 0),
  new google.maps.Point(6, 20));
if (placescoordjs[i][4]== 'a')
    {
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(placescoordjs[i][1],placescoordjs[i][2]),
        icon: amarelo, shadow: sombra,
        map: map,
        title: placescoordjs[i][3]
    });
    google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
            infowindow.setContent(placescoordjs[i][0]);
            infowindow.open(map, marker);
        }
    })(marker, i));
     }