我如何为web2py中的url创建唯一的slug?

我如何为web2py中的url创建唯一的slug?,url,unique,web2py,slug,Url,Unique,Web2py,Slug,我知道我可以通过以下操作创建slug: db.define_table('product', Field('name','string', notnull=True), Field('slug','string', compute=lambda row: IS_SLUG()(row.name)[0]), ... 除了语法有点时髦之外,这在创建基本slug时非常有效。然而,由于我想使用slug作为我的url的基础,我需要它是唯一的,并且两个产品可能有相同的名称。如何确保生成的sl

我知道我可以通过以下操作创建slug:

db.define_table('product',
    Field('name','string', notnull=True),
    Field('slug','string', compute=lambda row: IS_SLUG()(row.name)[0]),
...
除了语法有点时髦之外,这在创建基本slug时非常有效。然而,由于我想使用slug作为我的url的基础,我需要它是唯一的,并且两个产品可能有相同的名称。如何确保生成的slug是唯一的?

那么,关于:

compute=lambda row: str(row.id) + '_' + IS_SLUG()(row.name)[0]

我认为
row.id
在计算字段中是不可用的。是的,它是可用的,并且它在那里非常有用。它能让你做很多漂亮的事情。如果你喜欢这个解决方案,它的工作,请考虑接受它。这对你有用吗?当我这样做时,它会导致我的整个slug字段为null。