如何扩展核心数据实体类(How to extend core data entity classes)
我有一些使用Xcode生成的NSManagedObject的子类。 我为这些类编写了一些验证代码(
validateForInsert:
:),但每次更新数据模型并重新生成子类时,所有这些验证代码都会消失。 有些人建议我使用类别来扩展这些类而不是在其中编写代码,但根据苹果的文档,用类别覆盖方法是一种非常糟糕的做法,可能会导致未定义的行为。我还尝试将这些生成的类子类化。 我有一个名为
DBEntityOne
的生成类,其子类称为EntityOne
。 EntityOne与EntityTwo具有一对一的关系,由DBEntityTwo
(生成)和EntityTwo
。 但是,每当我尝试将EntityTwo与EntityOne实例关联时,我得到的是DBEntityTwo
而不是EntityTwo
。所以我该怎么做? 我应该放弃自动代码生成并自己编写所有实体类吗?
I have some subclasses of NSManagedObject generated using Xcode. I wrote some validation codes (
validateForInsert:
) to those classes, but every time I update the data model and regenerate the subclasses, all those validation codes disappear. Some people suggest me to use categories to extend these classes instead of writing codes in it, but according to apple's document, overriding methods with categories is a very bad practice and can lead to undefined behaviour.I also tried to subclass those generated classes. I have a generated class called
DBEntityOne
and its subclass is calledEntityOne
. EntityOne has an one-to-one relationship with EntityTwo, which is represented byDBEntityTwo
(generated) andEntityTwo
. However, whenever I try to get the EntityTwo associated with an EntityOne instance, what I get is aDBEntityTwo
instead ofEntityTwo
.So what should I do? Should I give up the automatic code generation and write all the entity classes by myself?
原文:https://stackoverflow.com/questions/28291182
最满意答案
您可以使用
SESSION_COOKIE_AGE = 5 * 60
这适用于每个用户,也与用户是处于活动状态还是非活动状态无关。
You can use
SESSION_COOKIE_AGE = 5 * 60
This is for every user and also independent of whether user is active or inactive.
相关问答
更多-
实际上,大多数插件都需要“jQuery” - 而不是$ - 才能使用,然后在dmidz的答案中提供$自己。 因此,插入 var jQuery = django.jQuery; 在你的外部参考之前。 如果您正在加载一堆第三方jQuery插件,请将上面的代码放在插件前面的脚本标签中。 另请参阅我的问题五个月前如何在Django admin中为第三方外部jQuery插件提供$ Actually, most plugins will require "jQuery" - not $ - to be availab ...
-
Django管理员中的默认过滤器(Default filter in Django admin)[2022-03-10]
为了实现这一点, 并且在您的侧栏中有一个可用的“全部”链接(即显示全部而不是显示待定),您需要创建一个自定义列表过滤器,从django.contrib.admin.filters.SimpleListFilter继承并在默认情况下对'pending'进行过滤。 这些线条应该有效: from datetime import date from django.utils.translation import ugettext_lazy as _ from django.contrib.admin import ... -
要更改url中的默认管理员前缀,您需要首先在routing.yml更新,我想通过阅读您已经完成的注释,第二件事你需要在security.yml通过更改管理防火墙模式和access_control规则来更改它,如果在应用以下更改后,还需要清除缓存 路由 admin_area: resource: "@SonataAdminBundle/Resources/config/routing/sonata_admin.xml" prefix: /panel _sonata_admin: re ...
-
通过编辑初始化程序解决: config.logout_link_path = :destroy_user_session_path Solved by editing initializer : config.logout_link_path = :destroy_user_session_path
-
您需要创建自己的admin base_site.html模板来执行此操作。 最简单的方法是创建文件: /
/templates/admin/base_site.html 这应该是https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/base_site.html的副本 - 除了放置您的自定义标题: {% block branding %} ...
-
在ApacheDS文档中记录了更改管理员帐户密码。 ldapmodify ,如果没有给定要用-f参数处理的文件,则等待来自标准输入的输入,在标准输入上希望具有修改的LDIF格式文件执行。 在你的情况下,这样的LDIF文件看起来像这样: dn: uid=admin,ou=system changetype: modify replace: userPassword userPassword: new-password Changing the admin account password is docume ...
-
您可以使用 SESSION_COOKIE_AGE = 5 * 60 这适用于每个用户,也与用户是处于活动状态还是非活动状态无关。 You can use SESSION_COOKIE_AGE = 5 * 60 This is for every user and also independent of whether user is active or inactive.
-
Django管理员颜色(Django admin colours)[2022-03-03]
您可以覆盖管理模板。 您可能想要admin/base_site.html模板,并提供一个extrastyle块,其中包含您要注入模板的任何CSS。 你需要知道要覆盖哪些样式(有很多) - 当我这样做时,我只是找到了我想要改变的元素,并添加了样式,直到一切看起来都正确。 所以,假设你有一个模板目录(在TEMPLATE_DIRS设置),创建一个名为admin/base_site.html的文件,它可能是django/contrib/admin/templates/admin/base_site.html 。 例 ... -
因此,有两个可能的原因。 首先是你在到期前失去了会话。 SESSION_COOKIE_AGE默认为2周。 如果您的会话持续时间不长,请检查以确保您的后端未使用缓存或缓存未满(从而在其时间之前突然显示会话)。 您可以使用settings.SESSION_SAVE_EVERY_REQUEST强制在每个请求上刷新会话,但这可能会在繁忙的站点上出现性能问题。 另一种可能性是您已经将SESSION_COOKIE_AGE设置为有意义的小东西,但您现在希望管理cookie持续更长时间。 没有办法将管理会话超时与正常用户超 ...
-
您可能需要将此行添加到urls.py文件中(导入所需的库) if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_URL) 完整说明https://docs.djangoproject.com/en/1.11/ ...