1
我有一個模型(公司類別)由一個表填充 - 簡單的名稱等我然後有一個公司模型,我想將這兩個鏈接在一起,使我在填充的下拉框中有類別。引用谷歌App Engine中的其他表使用db.ReferenceProperty
class CompanyCategory(db.Model):
categoryname = db.StringProperty(required=True)
class Company(db.Model):
companyurl = db.StringProperty(required=False)
companycategory = db.ReferenceProperty(CompanyCategory, collection_name='category')
但是當我這樣做,我得到了以下錯誤:
<class 'google.appengine.ext.db.DuplicatePropertyError'>: Class CompanyCategory already has property categoryname
Traceback (most recent call last):
File "/base/data/home/apps/XXX/1.358759458095086806/showcompanies.py", line 52, in <module>
class Company(db.Model):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 514, in __init__
_initialize_properties(cls, name, bases, dct)
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 429, in _initialize_properties
attr.__property_config__(model_class, attr_name)
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/db/__init__.py", line 3656, in __property_config__
self.collection_name))
如何使這項工作?我已經看過一些例子,但在這種情況下我無法做出工作。我如何使公司類別成爲一個列表。
這裏是什麼是表:
CompanyCategory實體
‹ Prev 20 1-1 Next 20 ›
ID/Name categoryname
id=96001 ss
這是模型定義是周圍的其他方式。我希望每個公司都有一個從表格填充的類別。用下面的定義,我可以得到的東西,就像我在尋找:
class CompanyCategory(db.Model):
categoryname = db.StringProperty(required=False)
def __unicode__(self):
return u'%s' % (self.categoryname)
class Company(db.Model):
companyurl = db.StringProperty(required=False)
companyname = db.StringProperty(required=False)
companydesc = db.TextProperty(required=False)
companyaddress = db.PostalAddressProperty(required=False)
companypostcode = db.StringProperty(required=False)
companyemail = db.EmailProperty(required=False)
companycountry = db.StringProperty(required=False)
companyvalid = db.BooleanProperty()
companyentrytime = db.DateTimeProperty(auto_now_add=True)
companylatlong = db.GeoPtProperty()
companycategory = db.ReferenceProperty(CompanyCategory)
我現在得到一個下拉框,當我去添加一個公司 - 從表中的值填充。但是,我沒有在提交時將下拉列表中的值填入數據存儲區中的文本值中。這應該怎麼做?
你是在本地開發應用程序服務器或產品中嘗試此操作嗎?使用本地開發應用程序服務器,我無法重現您的問題。您是否也可以包含您用於實例化Company和CompanyCategory的代碼? –
錯誤說:「類CompanyCategory已經有屬性類別名稱」,它會在''CompanyCategory''模型中多次聲明''categoryname = db.StringProperty(required = True)''''。 –
@丹這是直接生產。 – Androidian