سؤال

ولقد أعلنت النماذج في models.py إلى AppEngine و:

class Post(db.Model):
topic = db.ReferenceProperty(Topic, collection_name='posts', verbose_name=_('Topic'))
(..)

class Topic(db.Model):
(..)
last_post = db.ReferenceProperty(Post, collection_name='last_topic_post')

والمشكلة هي ReferenceProperty يجب أن يكون من الدرجة نموذج ولكن الطبقة الموضوع هو غير معلن عندما يعلن المشاركة. والشيء نفسه سيحدث مع الطبقة المشاركة بعد التبديل. كيفية حل هذا؟

وشكرا.

هل كانت مفيدة؟

المحلول

وReferenceProperty يقبل لا يوجد في مكان فئة النموذج، الذي يعني "لا تقييد نوع" في هذا المجال. انها ليست حلا لطيفة، ولكن.

وانظر:

http://code.google.com/appengine /docs/python/datastore/typesandpropertyclasses.html#ReferenceProperty

وجود مثل هذه الإشارات الدورية في النموذج الخاص بك ليس IMHO فكرة جيدة. يجب أن تجد last_post الخاصة بك على الطلب بدلا من تخزين إشارة إلى ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top