我有一个使用多个数据库的应用程序.一旦模型实例对象在内存中,我如何确定它来自哪个数据库?具体来说,我想知道这在模型类的方法中使用.
例:
class book(Models.model):
newdate = models.DateField(default=date.today())
type = models.CharField(
max_length=30,
choices=BOOK_TYPE,
default = 'novel',
)
def get_current_student(self):
if not hasattr(self,'_current_student'):
try:
self._current_student = clickerlog.objects.using(SELF.ORIGIN_DATABASE).get(book=self.pk,end__isnull = True).student
except:
self._current_student = none
return self._current_student
class booklog(Models.model):
start = models.DateTimeField(
default=datetime.now(),
verbose_name = 'start time'
)
end = models.DateTimeField(null=True,blank=True,)
book = models.ForeignKey(book)
student = models.ForeignKey(student,
limit_choices_to = {'isactive':True})
Run Code Online (Sandbox Code Playgroud) 我无法捕获像这样发送的事件:
document.body.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
下面的指令是在一个div,在身体内:
.directive('myDirective',function(){
return {
restrict: 'A',
link: function(scope, element, attrs, pageCtrl){
element.bind('myEvent', function(){
console.log('caught my event!');
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
如果在div上使用triggerHandler发送事件,则此方法有效.
event = new Event('myEvent');
elem.triggerHandler(event);
Run Code Online (Sandbox Code Playgroud)
如何在指令内的文档主体上捕获自定义事件?
更新: 这是用于Cordova应用程序,带有现有插件,可在document.body上调度事件.那么有另一种方法可以在div的指令中捕获这些事件吗?
使用select_related时,有没有人开发过一种方法来过滤外键表中的字段.
例如给出这些模型:
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
class AuthorExtra(models.Model):
author = models.ForeignKey(Author)
type = models.ForeignKey(ExtraType)
value = models.CharField(max_length = 24)
Run Code Online (Sandbox Code Playgroud)
我想要一种方法来缓存特定类型的所有相关AuthorExtra对象.
我正在使用此问题中描述的方法为我的django项目加载初始用户.
这样可以保存用户权限,其中一个权限记录可能如下所示:
{
"pk": 56,
"model": "auth.permission",
"fields": {
"codename": "change_somemodel",
"name": "Can change some model",
"content_type": 19
}
Run Code Online (Sandbox Code Playgroud)
用户记录:
{
"pk": 2,
"model": "auth.user",
"fields": {
"username": "some_user",
"first_name": "",
"last_name": "",
"is_active": true,
"is_superuser": false,
"is_staff": true,
"last_login": "2011-09-20 06:36:54",
"groups": [],
"user_permissions": [
10,
11,
19,
20,
21,
1,
2,
56,
...,
],
"password": "sha1$e4f29$fcec7f8bb930d98abdaaa3c0020220f413c4c1f5",
"email": "",
"date_joined": "2011-03-15 06:01:41"
}
Run Code Online (Sandbox Code Playgroud)
在将来的安装中是否有可能更改内容类型外键?如果添加模型或应用程序怎么样?例如,假设我在我的核心应用程序中添加了一个模型,然后我在settings.py中列出了一些可重用的应用程序,那些新安装会有不同的content_type_id吗?我可以在我的初始数据中包含content_type表,还是可能导致其他问题?
如果这不是将多个初始用户加载到数据库的可靠方法,那么有哪些替代方案?
如何在Django 1.3中使用新的基于类的通用视图设置表单前缀关键字?设置前缀可防止呈现的HTML中出现重复的ID.这是记录在这里的形式API.
由于我使用AJAX加载了几种不同的表单,因此我遇到了重复标记的问题.
我正在为我正在处理的 django 项目实施行级(对象级)安全包。Django-gaurdian 和 django-rulez 似乎是可用于实现这一点的最活跃的包。
有没有人比较过两者,或者您使用过其中之一?请给我任何关于两者的好或坏反馈。Django-rules 具有在内存中存储一些信息以最小化数据库负载的好功能,您是否遇到过该功能的任何问题?
提前致谢。