Python 带有选定行的Django模型表单

Python 带有选定行的Django模型表单,python,google-app-engine,django-forms,Python,Google App Engine,Django Forms,我有一个django模型,大致如下所示: class Event(db.Model): creator = db.ReferenceProperty(User, required= True) title = db.TextProperty(required = True) description = db.TextProperty(required = True) class Ticket(db.Model): user = db.ReferenceProperty(

我有一个django模型,大致如下所示:

class Event(db.Model):
   creator = db.ReferenceProperty(User, required= True)
   title = db.TextProperty(required = True)
   description = db.TextProperty(required = True)

class Ticket(db.Model):
   user = db.ReferenceProperty(User, required = True)
   event = db.ReferenceProperty(Event, required = True)
   total_seats = db.IntegerProperty(required = True,default=0)
   available_seats = db.IntegerProperty(required = True,default=0)
现在,我想从这个模型创建一个表单,它应该包含仅由登录用户拥有的事件。当前,它显示一个包含所有事件的下拉列表

django表单可以吗?我正在谷歌应用引擎上工作


请建议。

如果这是一个纯Django应用程序(而不是应用程序引擎),我会这样做。你也许会发现它很有用

关键是重写
ModelForm
类的
\uuuu init\uuuu()方法,以提供当前登录的用户实例

# forms.py
class TicketForm(forms.ModelForm):
    def __init__(self, current_user, *args, **kwargs):
        super(TicketForm, self).__init__(*args, **kwargs)
        self.fields['event'].queryset = Event.objects.filter(creator = 
             current_user)
然后,您可以在创建表单实例时提供用户实例

ticket_form = TicketForm(request.user)

阿南德,你介意发布是什么“小变化”让它起作用的吗?谢谢只需查询中的更改即可获取结果。like:Event.all().filter('creator=',当前用户)将与google应用程序引擎一起使用。纯django和appengine的语法略有不同。