将新记录添加到表时,我必须在外部数据库上执行SQL语句.此查询包括使用ManyToManyField.所以我只是连接这个函数:
post_save.connect(post_save_mymodel, sender=MyModel)
Run Code Online (Sandbox Code Playgroud)
在我的post_save_mymodel()函数中,这是我的工作:
def post_save_mymodel(sender, instance, created, *args, **kwargs):
if created:
for e in instance.my_m2mfield.all():
# Query including "e".
Run Code Online (Sandbox Code Playgroud)
但是,太糟糕了,instance.my_m2mfield.all()总是空的!即使它们应该包含一些元素!我试图通过这样做获得新元素
new_element = MyModel.objects.get(pk=instance.pk)
Run Code Online (Sandbox Code Playgroud)
但它没有改变任何东西,我仍然遇到同样的问题......
Wny的帮助/建议?
我使用 Django 的身份验证视图django.contrib.auth.views.login来登录我的用户。
urls.py
urlpatterns = patterns('',
url(r'^accounts/login/$', 'django.contrib.auth.views.login'),
)
Run Code Online (Sandbox Code Playgroud)
这是有关此功能的文档。
我的问题:即使用户已经连接,也会显示登录页面。