我有一个非管理员表单,我想在其中使用filter_horizontal.我读过这个比我想要的更多(我只想要filter_horizontal).我想检查是否有人想出一个更简单(更新)的方法来实现filter_horizontal.
所以这是代码:
class County(models.Model):
"""County Names"""
name = models.CharField(max_length=64)
state = USStateField(null=True)
class Company(models.Model):
"""The basics of a company"""
name = models.CharField(max_length = 100)
counties = models.ManyToManyField(County,blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
然后我们的表单目前看起来像这样.我以为这会起作用..
from django.contrib.admin.widgets import FilteredSelectMultiple
class RaterCompanyForm(ModelForm):
class Meta:
model = RaterOrganization
exclude = ('remrate_projects',)
widgets = {'counties': FilteredSelectMultiple(verbose_name="Counties",
is_stacked=True,) }
class Media:
css = {'all':['admin/css/widgets.css']}
js = ['/admin/jsi18n/']
Run Code Online (Sandbox Code Playgroud)
有没有人知道在运行之前在保存python脚本时在何处或如何设置默认路径/目录?
在Mac上,它希望将它们保存在顶级~/Documents directory.我想指定一个真实的位置.有任何想法吗?
之前大家指出我在这里和这里挖掘有点不同.所以我转移到我的生产服务器后开始出现这个着名的错误.
django/db/backends/mysql/base.py:86:警告:第1行的'slug'列数据被截断
我做的第一件事就是在解决问题后开始谷歌搜索.为了解决这个问题,我调整了两个模型,使其max_length为128,然后更新SQL表以匹配它. 但问题仍然存在. 有点确信我确实解决了这个问题,我认为我也可以开始过滤它们.所以在我的脚本的顶部我放置了这个.
# Get rid of the MySQLdb warnings
import warnings
import MySQLdb
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=MySQLdb.Warning)
Run Code Online (Sandbox Code Playgroud)
我很乐意将其推向生产阶段.猜猜是什么 - 你猜对了问题依然存在.那么现在怎么办.我很快就失去了信心,我确实解决了这个问题,但仔细检查表明所有的slug列都是128个字符长.此外,如果长度超过128而且仍然没有,我将sluggify包装为错误.那2个问题:
我怎样才能确定哪些操作标志着这一点.即我的代码中的哪个标志被提升了?
我怎么能真正过滤掉这些?我的修复不起作用?这真的是MySQLdb警告还是django.db.mysql.base警告?
谢谢和快乐Django黑客!
对于那些对结构有疑问的人..
CREATE TABLE `people_employee` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`email` varchar(75) DEFAULT NULL,
`location_id` varchar(100) DEFAULT NULL,
`jpeg` longtext,
`first_name` varchar(100) DEFAULT NULL,
`last_name` varchar(100) DEFAULT NULL,
`maildomain` varchar(32) DEFAULT NULL,
`mailserver` varchar(32) DEFAULT NULL,
`mailfile` varchar(64) DEFAULT NULL,
`contractor` tinyint(1) NOT NULL,
`temporary` tinyint(1) …Run Code Online (Sandbox Code Playgroud) 根据文档,我应该能够在〜/ .pydistutils.cfg中简单地定义它并关闭并运行.
[install]
install-base=$HOME
install-purelib=python/lib
install-platlib=python/lib.$PLAT
install-scripts=python/scripts
install-data=python/data
Run Code Online (Sandbox Code Playgroud)
但是 - 当我这样做时,我只是得到这个错误......
错误:提供了install-base或install-platbase,但安装方案不完整
但我明确地遵循了文档.任何人都可以解释为什么会发生这种情况; 以及如何解决它?
这是一个相当简单的问题,希望你们都可以启发我.在下面的示例中,如何将__repr__定义为动态设置为self.name?
谢谢大家!
import re
inputlist = 'Project="Sparcy" Desc=""\nProject="Libs" Desc=""\nProject="Darwin" Desc=""\nProject="Aaple" Desc="The big project"'
regex = re.compile('([^ =]+) *= *("[^"]*"|[^ ]*)')
results = []
for project in inputlist.split("\n"):
items = [ (k.strip(), v.strip()) for k, v in regex.findall(project)]
if len(items) < 2:
print("Houston we have a problem - Only %s k/v pair found for %s" % (len(items), project))
continue
item_dict = dict(items[1:])
item_dict['name'] = items[0][1]
klass = type(items[0][0], (object,), item_dict)
results.append(klass)
print results
Run Code Online (Sandbox Code Playgroud)
我要找的是这个
伪代码
for result in results
type(result) ? …Run Code Online (Sandbox Code Playgroud) Django 和相互交互的应用程序很容易遇到导入问题。我的问题很简单:
最小化循环进口的公认流程是什么,或者是否有人提出了公认的编码标准来减少他们愿意分享的这些?
我正在寻找可以标准化的良好原则。
楷模
class Program(models.Model):
group = models.ForeignKey(Group, related_name="%(app_label)s_%(class)s_related")
Run Code Online (Sandbox Code Playgroud)
对比
class Program(models.Model):
group = models.ForeignKey('auth.Group', related_name="%(app_label)s_%(class)s_related")
Run Code Online (Sandbox Code Playgroud)
意见:
class ProgramDetailView(DetailView):
"""Detail view of the EEP Program"""
def get_queryset(self):
"""Narrow this based on your company"""
from apps.company.models import Company
company = Company.objects.get(name="foo")
return Program.objects.filter(company = company)
Run Code Online (Sandbox Code Playgroud)
vs(这往往会导致问题..
from apps.company.models import Company
class ProgramDetailView(DetailView):
"""Detail view of the EEP Program"""
def get_queryset(self):
"""Narrow this based on your company"""
company = Company.objects.get(name="foo")
return Program.objects.filter(company = company)
Run Code Online (Sandbox Code Playgroud)
这样做的问题是你倾向于在所有地方进行大量导入。
我将概述我的工作流程,我想就如何提高效率提出一些建议.现在看起来有点麻烦和重复(我讨厌的东西),所以我正在寻找一些改进.请记住,我仍然是django的新手以及它是如何工作的但我是一个非常流利的编码器(恕我直言).所以这里......
TextMate项目http://img.skitch.com/20090821-g48cpt38pyfwk4u95mf4gk1m7d.jpg
在终端的第一个选项卡中启动服务器
python ./manage.py runserver
在终端窗口的第二个选项卡中启动shell
python ./manage.py shell
这产生了iPython,让我开始开发工作流程
创建并构建一个名为models.py的基本模型
建立一个基本模型
class P4Change(models.Model):
"""This simply expands out 'p4 describe' """
change = models.IntegerField(primary_key=True)
client = models.ForeignKey(P4Client)
user = models.ForeignKey(P4User)
files = models.ManyToManyField(P4Document)
desc = models.TextField()
status = models.CharField(max_length=128)
time = models.DateField(auto_now_add=True)
def __unicode__(self):
return str(self.change)
admin.site.register(P4Change)
Run Code Online (Sandbox Code Playgroud)
> python ./manage.py syncdb
Creating table perforce_p4change
Installing index for …Run Code Online (Sandbox Code Playgroud) 我有一个基础类,我想放在一些代码中.我只希望它被实例化或为给定的应用程序启动一次,虽然它可能被多次调用..下面代码的问题是LowClass一次又一次地启动.我只希望每次测试都能启动一次..
import logging
class LowClass:
active = False
def __init__(self):
self.log = logging.getLogger()
self.log.debug("Init %s" % self.__class__.__name__)
if self.active:
return
else:
self.active = True
self.log.debug("Now active!")
class A:
def __init__(self):
self.log = logging.getLogger()
self.log.debug("Init %s" % self.__class__.__name__)
self.lowclass = LowClass()
class B:
def __init__(self):
self.log = logging.getLogger()
self.log.debug("Init %s" % self.__class__.__name__)
self.lowclass = LowClass()
class C:
def __init__(self):
self.log = logging.getLogger()
self.log.debug("Init %s" % self.__class__.__name__)
self.a = A()
self.b = B()
class ATests(unittest.TestCase):
def setUp(self):
pass
def testOne(self):
a = …Run Code Online (Sandbox Code Playgroud) 我有一个基本的Monostate与Python 2.6.
class Borg(object):
__shared_state = {}
def __new__(cls, *args, **kwargs):
self = object.__new__(cls, *args, **kwargs)
self.__dict__ = cls.__shared_state
return self
def __init__(self, *args, **kwargs):
noSend = kwargs.get("noSend", False)
reportLevel = kwargs.get("reportLevel", 30)
reportMethods = kwargs.get("reportMethods", "BaseReport")
contacts= kwargs.get("contacts", None)
a = Borg(contacts="Foo", noSend="Bar", )
Run Code Online (Sandbox Code Playgroud)
哪位高兴地给了我以下的弃权警告..
untitled:4: DeprecationWarning: object.__new__() takes no parameters
self = object.__new__(cls, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
经过一段谷歌搜索后,我发现这是附加到Bug#1683368.我无法弄清楚这意味着什么.它抱怨以下这一行
self = object.__new__(cls, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
这似乎没问题.有人可以用非专业术语解释为什么这是一个问题.我理解"这与其他内置插件不一致,如列表",但我不确定我理解为什么.有人会解释这个让我看到正确的方法吗?
谢谢
有没有人有一个简单的解决方案来使用(或修改)dumpdata将一个简单的表缩小到最后n行。我喜欢将转储数据用于测试夹具,但是数据大小太大了,这毫无意义。顺便说一句-我不是在设计桌子,我只是需要处理的吸盘。
对于那些可能会问这里结构如何的人。
从Django Side
class GridResourceUsage(models.Model):
"""Sampled point in time of license usage for individual grid resource. Includes who and quanity."""
timestamp = models.DateTimeField(db_index=True)
grid_license_resource = models.ForeignKey(GridLicResource)
total = models.IntegerField(default=None, null=True)
limit = models.IntegerField(default=None, null=True)
free = models.IntegerField(default=None, null=True)
intern = models.IntegerField(default=None, null=True)
extern = models.IntegerField(default=None, null=True)
waiting = models.IntegerField(default=None, null=True)
def __unicode__(self):
return str("GRU-" + self.grid_license_resource.name)
class Meta:
ordering = ['-timestamp']
@models.permalink
def get_absolute_url(self):
return('hist_res_id', (), {'resource': str(self.grid_license_resource.name), 'id':str(self.id)})
Run Code Online (Sandbox Code Playgroud)
从MySQL方面
CREATE TABLE `gridresource_gridresourceusage` (
`id` int(11) NOT NULL AUTO_INCREMENT, …Run Code Online (Sandbox Code Playgroud) python ×7
django ×5
deprecated ×1
django-admin ×1
django-forms ×1
macos ×1
monostate ×1
mysqldump ×1
python-idle ×1
singleton ×1
textmate ×1
workflow ×1