小编Die*_*rro的帖子

为什么Django的related_model属性返回字符串而不是Model实例?

我有一些奇怪的行为,至少对我而言,这会导致我的项目中出现一些错误.

我正在使用Django 1.9和第三方django包(django-jet),它field.related_model在Django admin中使用属性,有时它失败,因为它期望field.related_model返回一个模型实例,并且我的一些模型返回模型名称.

这是Django代码中定义的属性:

@cached_property
def related_model(self):
    # Can't cache this property until all the models are loaded.
    apps.check_models_ready()
    return self.remote_field.model
Run Code Online (Sandbox Code Playgroud)

我试过的事情:

  • 如果Django的related_model是@property而不是@cached_property它的工作原理,并返回模型实例.
  • 如果我调用field.remote_field.model而不是field.related_model在导致错误的行中调用它并返回模型实例.

拜托,你有什么想法吗?我可以做出解决方法,但我想知道为什么会出现这种情况.

提前致谢!

python django django-admin django-jet

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

如何在virtualenv上安装GExiv2?

我安装了这个库:

sudo apt-get install libexiv2-dev libgexiv2-2 gir1.2-gexiv2-0.4
Run Code Online (Sandbox Code Playgroud)

我能够加载Python模块:

from gi.repository import GExiv2
Run Code Online (Sandbox Code Playgroud)

问题来自virtualenv.我需要在virtualenv中使用这个库,我不知道如何安装它,因为没有pip这个包.

我试图在系统范围内安装的库和virtualenv lib文件夹之间建立一个符号链接,但没有结果:

lrwxrwxrwx 1 dnavarro dnavarro   25 jul  4 15:42 girepository-1.0 -> /usr/lib/girepository-1.0
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python image exiv2 python-imaging-library python-2.7

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

如何在具有时区支持的 BigQuery 中设置计划查询(通过 Python SDK)

在 BigQuery UI 中,我可以安排特定时区的查询(如下面的屏幕截图所示)。

通过这些设置,我可以在正确的本地时间安排查询,但是当我尝试使用 Python 自动执行此过程时,我看不到任何指定时区的选项 ( https://cloud.google.com/ bigquery/docs/scheduling-queries

def create_scheduled_query(project_id, dataset_id, query_string, dest_table, write_disposition=WriteDisposition.WRITE_TRUNCATE):
    parent = client.project_path(project_id)

    transfer_config = google.protobuf.json_format.ParseDict(
        {
            "destination_dataset_id": dataset_id,
            "display_name": dest_table,
            "data_source_id": "scheduled_query",
            "params": {
                "query": query_string,
                "destination_table_name_template": dest_table,
                "write_disposition": write_disposition,
                "partitioning_field": "",
            },
            "schedule": "every day 06:00",  # How can add timezones here?
        },
        bigquery_datatransfer_v1.types.TransferConfig(),
    )

    response = client.create_transfer_config(
        parent, transfer_config, authorization_code=authorization_code
    )

    print("Created scheduled query '{}'".format(response.name))
Run Code Online (Sandbox Code Playgroud)

有什么办法可以用Python客户端来完成这个任务吗?谢谢!

python google-bigquery google-cloud-platform

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

Sirikit 自定义意图和 iOS 13.4.1 的国际化问题

我在我的 iOS 应用程序中使用 Sirikit 实现了两个自定义意图。当我开发它们时,我的 iphone 中安装了 iOS 13.3,我的一个意图有一个 Siri Dialog 提示,要求输入一个参数的值。所有应用程序都被翻译成英语和西班牙语,并且自定义意图在两种语言中都能很好地工作。

当我将 iphone 更新到 iOS 13.4.1 时,我的自定义意图开始出现以下问题(根据安装/测试/设备,我看到了两个问题):

  • Siri 询问参数值,就好像我不会放置任何带有标准短语“您想要什么值param?”的自定义对话框一样。(或多或少)
  • Siri 以英语而不是西班牙语询问 Siri 对话提示,即使 Intent 和应用程序的其余部分的其余短语和 Siri 响应已正确翻译成西班牙语。唯一不起作用的翻译是 Siri 对话提示。

我觉得这个问题很奇怪也很烦人。我尝试为Intent.intentdefinition: Intent.strings (Base)、重新创建翻译文件Intent.strings (English)Intent.strings (Spanish)我什至尝试重新创建整个自定义意图定义,但我仍然遇到问题。

我还尝试更改手机上的 iOS 语言和 Siri 语言、重新启动、重新安装应用程序、意图等...

这是我的 Sirikit 扩展的 Info.plist:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
<plist version="1.0">  
<dict>  
  <key>CFBundleDevelopmentRegion</key>  
  <string>$(DEVELOPMENT_LANGUAGE)</string>  
  <key>CFBundleDisplayName</key>  
  <string>InventorySearchIntent</string>  
  <key>CFBundleExecutable</key>  
  <string>$(EXECUTABLE_NAME)</string>  
  <key>CFBundleIdentifier</key>  
  <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>  
  <key>CFBundleInfoDictionaryVersion</key>  
  <string>6.0</string>  
  <key>CFBundleName</key>  
  <string>$(PRODUCT_NAME)</string>  
  <key>CFBundlePackageType</key>  
  <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> …
Run Code Online (Sandbox Code Playgroud)

iphone ios siri swift sirikit

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