小编chi*_*rox的帖子

Django Unique Together(带外键)

我有一种情况,我想使用Meta选项unique_together来强制执行某个规则,这里是中间模型:

class UserProfileExtension(models.Model):
    extension = models.ForeignKey(Extension, unique=False)
    userprofile = models.ForeignKey(UserProfile, unique=False)
    user = models.ForeignKey(User, unique=False)  

    class Meta:
        unique_together = (("userprofile", "extension"),
                           ("user", "extension"),
                           # How can I enforce UserProfile's Client 
                           # and Extension to be unique? This obviously
                           # doesn't work, but is this idea possible without
                           # creating another FK in my intermediary model 
                           ("userprofile__client", "extension"))
Run Code Online (Sandbox Code Playgroud)

这是UserProfile:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    client = models.ForeignKey(Client)
Run Code Online (Sandbox Code Playgroud)

谢谢.

python django-models

58
推荐指数
5
解决办法
4万
查看次数

如何计时Django查询

我总是使用Python的timeit库为我的小Python程序计时.现在我正在开发一个Django应用程序,我想知道如何计算我的Django函数,尤其是查询.

例如,我def index(request)在views.py中有一个在加载索引页面时会执行一些操作.如何timeit在不改变现有功能的情况下使用此特定功能的时间?

django timeit

10
推荐指数
3
解决办法
9044
查看次数

使用Django生成CSV文件(动态内容)

在我的view.py中,我有两个函数,一个处理来自表单的输入并输出一个已过滤的列表,另一个用于将此列表导出为CSV.

这是我的第一个函数的返回:

return render_to_response('templateX.html',
{
 'queryset': queryset,
 'filter_form': filter_form,
 'validated': validated,
},
 context_instance = RequestContext(request)
 )
Run Code Online (Sandbox Code Playgroud)

这是导出功能:

def export_to_csv(request):
    # get the response object, this can be used as a stream.
    response = HttpResponse(mimetype='text/csv')
    # force download.
    response['Content-Disposition'] = 'attachment;filename=export.csv'
    # the csv writer
    writer = csv.writer(response)
    qs = request.session['queryset']
    for cdr in qs:
        writer.writerow([cdr['calldate'], cdr['src'], cdr['dst'], ])
    return response   
Run Code Online (Sandbox Code Playgroud)

我不知道如何让查询集从我的第一个功能,它包含我想在我的CSV和我export_to_csv功能使用它的项目的列表.或者最好的方法是组合这两个功能,并让用户点击一个复选框,无论他/她是否要下载CSV文件.任何帮助,将不胜感激.

python csv django

7
推荐指数
1
解决办法
1万
查看次数

如何为一个想要支付费用的人"打包"一个简单的单文件python脚本?

一个人(一个正在学习计算机基础知识的老年人)让我制定了一个程序,可以通过繁重的工作类型的任务为他节省大量时间.我用Python制作了脚本,它很简单,命令行,从用户那里获取输入并将输出保存到文件中就是这样.

我的第一个问题与脚本的输出有关:它不一定是GUI(我没有GUI开发经验,现在没有时间),但我也认为它不应该像TXT文件那么简单,因为输出将是40,000多行,并打算用于打印(我知道这是浪费纸张,我努力让他不要这样做,但这是他的选择).我应该输出什么文件格式?也许是一个HTML文件?

接下来,他让我把它刻录成一张CD,他可以把它放在他的笔记本电脑中并直接运行并将输出保存到'C:'.根据他的计算能力,它必须尽可能简单,并且需要最少的"售后服务".整个程序在他的计算机中占用的大小没有限制.

我尝试使用PY2EXE创建我的Python脚本的EXE但是当我执行.EXE时,它在同一文件夹上创建输出文件,打开没有'窗口',要求没有输入,并运行FOREVER,输出文件大小增加按20mb/s!当然,当我在常规python上运行它时,它运行得非常好.我查看了其他stackoverflow线程并遵循'bundle_files':1参数但仍然......我正在使用Python2.7,我应该尝试PyInstaller吗?如果是的话,人们可以指点我一个好的教程吗?

提前致谢

python executable

5
推荐指数
1
解决办法
1105
查看次数

Django:成功保存表单后自定义消息

每当我在管理界面中保存模型时,它都会显示通常的"已成功保存的消息".但是,我想知道是否可以自定义此消息,因为我想要警告用户他刚刚保存的内容以及这些操作的含义.

class PlanInlineFormset(forms.models.BaseInlineFormset):
    def clean(self):
        ### How can I detect the changes?  
        ### (self.changed_data doesn't work because it's an inline)
        ### and display what he/she just changed at the top AFTER the successful save?

class PlanInline(admin.TabularInline):
    model = Plan
    formset = PlanInlineFormset
Run Code Online (Sandbox Code Playgroud)

django django-forms django-admin django-messages

5
推荐指数
1
解决办法
7003
查看次数

如何在active_admin formtastic中嵌入原始html

我正在尝试使用formtastic在active_admin模型中构建一个表单.问题是我需要在表单内部或周围直接使用某个脚本标记和其他原始HTML内容.

我正在使用普通的表单块:

form do |f|
    f.inputs :name => "User Details", :for => :user do |user_form|
    user_form.input :first_name, :required => true
    ...
Run Code Online (Sandbox Code Playgroud)

如何在两者之间嵌入一​​个简单的div标签?甚至是脚本标签?

我想过使用a render :partial,但我想先知道上面的方法是否可行.谢谢!

ruby-on-rails formtastic activeadmin

4
推荐指数
2
解决办法
3879
查看次数

我应该保存哪种格式的python脚本输出?

我有一个可执行文件(使用py2exe从python转换为exe),它输出的数字列表可能是0-50K行或更多.在开发时,我只是使用简单的f.write将它们保存到TXT文件中.这个人想在纸上打印这个输出!(不要问为什么哈哈)

所以,我想知道我是否可以输出像HTML这样的东西?XML?什么东西可以显示50K行,也许3列的表格,也可以在没有附加程序的任何PC上运行?建议?

编辑:
关于CSV:
在大多数情况下,我认为最好的方法是制作CSV.我不是反对它,而是我认为其他人可能会发现洛特的答案对他们的案件有用.对不起,就我的约束而言,我没有在我的问题中解释得那么好.
我的约束是:用户没有办公套件,没有安装python.在安装干净的Windows xp/vista之后,可以考虑一台最低限度的PC,可能是Internet Explorer 7或8.这台PC必须能够打开我的输出文件并允许合理的查看,搜索和打印.

python

1
推荐指数
1
解决办法
389
查看次数

Django:具有与客户端关联的唯一分机号码,但与另一个客户端关联的分机号码相同

我正在开发一个我有模型的项目:Client,User和Extensions,这只是为了简化.用户必须与一个客户关联才能拥有分机号码.用户可以拥有扩展名,例如100和101.与另一个客户端关联的另一个用户可以具有相同的扩展名100和101.因此,扩展在我的数据库中不是唯一的,因此它允许用户在具有两个相同的扩展号时我在管理中添加它,这是错误的.如何确定此用户中是否已包含要添加的分机号码?

class Extension(models.Model):
    user = models.ForeignKey(User, verbose_name=u"User")
    date_created = models.DateTimeField(auto_now_add=True, auto_now=True)
    number = models.CharField(max_length=16, unique=False)
    kind = models.SmallIntegerField(choices=KIND_CHOICES,default=KIND_UNKNOWN)
Run Code Online (Sandbox Code Playgroud)

User类是默认的Django类.

class Client(models.Model):
    name = models.CharField(u"Nome", max_length=64)
    last_update = models.DateTimeField(null=True, blank=True)
    last_inbound_call  = models.DateTimeField(null=True, blank=True)
    last_outbound_call = models.DateTimeField(null=True, blank=True)
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=16)
Run Code Online (Sandbox Code Playgroud)

python django django-models django-admin

1
推荐指数
1
解决办法
113
查看次数

当检查是否所有都是数字时,Scala变量与空字符串返回true

当我有一个字符串变量x,由于某种原因是"":

val x = ""

我做: x.forall(_.isDigit)它返回true

我有点困惑为什么它是真的,不应该是假的吗?当我的if条件不起作用时,我发现了这个问题.然后我去看Scala源代码:

private def prefixLengthImpl(p: A => Boolean, expectTrue: Boolean): Int = {
    var i = 0
    while (i < length && p(apply(i)) == expectTrue) i += 1
    i
  }

  override /*IterableLike*/
  def forall(p: A => Boolean): Boolean = prefixLengthImpl(p, expectTrue = true) == length
Run Code Online (Sandbox Code Playgroud)

因此很明显,它的持"空洞的真理"的原则,因为计数器变量i返回为0我的字符串的长度也是0,它最终被0==0因此true.我发现x.isEmpty在做之前没必要做一个forall.

scala

-1
推荐指数
1
解决办法
395
查看次数