db.define_table("devices",
Field('user_id','reference users'),# THIS PRODUCES AN ERROR
Field('energyConsumed','integer'),
Field('device_password','password'),
Field('date_of_measure','date')
);
db.define_table("users",
Field('device_id','reference devices')
);
我无法使用'引用用户'在第一个表中,因为它尚未在该表定义之前定义。如何引用稍后定义的表。
答案 0 :(得分:1)
您无法引用未定义的表。所以你必须使用替代语法。
使用method Product1 (m: nat, n: nat) returns (res:nat)
ensures res == m * n;
{
var m1: nat := 0;
var n1: nat := 0;
res := 0;
while (m1 < m)
invariant 0 <= m1 <= m
invariant res == m1 * n
{
n1 := 0;
while (n1 < n)
invariant 0 <= n1 <= n
invariant res == n1 + m1*n
{
res := res + 1;
n1 := n1 + 1;
}
m1 := m1 + 1;
}
assert m1 == m; // success
}
验证器。
IS_IN_DB
这已在这里得到解答:
https://stackoverflow.com/a/38948788/4065350 https://groups.google.com/forum/#!msg/web2py/yNca8bq0HmM/DmVjCPrODQAJ