我正在使用Entity Framework开发ASP.net应用程序.我正在使用DetailsView
将数据插入数据库.有一个表Client
,其主键是client_id
.client_id
是由数据库自动生成的.我需要client_id
在将记录插入Client
表格后将其自动生成并将其分配给隐藏字段以供将来使用.
我搜索了这个,我找到了很多解决方案.但我不知道如何使用它们,因为我是asp.net的新手.我发现Entity Framework在调用后自动使用db生成的值填充业务对象SaveChanges()
.我的问题是我应该在我的部分课程中将其称为何处?活动是什么?
我正在使用DetailsView和EntityDataSource并将EntityDataSource直接与实体模型绑定,所以我不是要创建插入数据的对象.
问题
我正在尝试使用 Django ORM 来执行 SQLNOT IN
子句的等效操作,在子选择中提供 ID 列表以从日志记录表中带回一组记录。我不知道这是否可能。
该模型
class JobLog(models.Model):
job_number = models.BigIntegerField(blank=True, null=True)
name = models.TextField(blank=True, null=True)
username = models.TextField(blank=True, null=True)
event = models.TextField(blank=True, null=True)
time = models.DateTimeField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
我试过的
我的第一次尝试是使用exclude
,但这确实NOT
否定了整个Subquery
,而不是所需的NOT IN
:
query = (
JobLog.objects.values(
"username", "job_number", "name", "time",
)
.filter(time__gte=start, time__lte=end, event="delivered")
.exclude(
job_number__in=models.Subquery(
JobLog.objects.values_list("job_number", flat=True).filter(
time__gte=start, time__lte=end, event="finished",
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
不幸的是,这产生了这个 SQL:
SELECT "view_job_log"."username", "view_job_log"."group", "view_job_log"."job_number", "view_job_log"."name", "view_job_log"."time"
FROM "view_job_log"
WHERE ( …
Run Code Online (Sandbox Code Playgroud) 有人可以解释为什么在以下示例中使用元类.
例如:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
Run Code Online (Sandbox Code Playgroud)
谢谢.
我一直在Linux上使用django-pyodbc-azure一段时间,还有pydobc,FreeTDS和unixODBC将Django连接到SQL Server 2014.我遇到了这个问题,我的应用程序工作正常,调试有问题它.为了重现这个问题,我开始使用全新的Django应用程序来保持简单.这是我的virtualenv:
(azuretest)[vagrant@vagrant azuretest]$ pip freeze
Django==1.8.6
django-pyodbc-azure==1.8.3.0
pyodbc==3.0.10
Run Code Online (Sandbox Code Playgroud)
这是我连接到SQL Server的数据库配置:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'HOST': 'myserver.com',
'PORT': '1433',
'NAME': 'my_db',
'USER': 'my_db_user',
'PASSWORD': 'mypw',
'AUTOCOMMIT': True,
'OPTIONS': {
'driver': 'FreeTDS',
'autocommit': True,
'unicode_results': True,
'host_is_server': True,
'extra_params': 'tds_version=7.2',
},
},
}
Run Code Online (Sandbox Code Playgroud)
我创建了一个简单的models.py:
class TestTemp(models.Model):
tempdate = models.DateField()
Run Code Online (Sandbox Code Playgroud)
这个设置在一个相当复杂的Django项目中运行良好,该项目仍可以SELECT到同一个数据库.但是,每当我尝试进行UPDATE或迁移时,我都会收到此错误:
(azuretest)[vagrant@vagrant azuretest]$ ./manage.py migrate home
Operations to perform:
Apply all migrations: home
Running migrations:
Rendering model states... DONE
Applying home.0001_initial...Traceback (most recent call last):
File "/home/vagrant/.virtualenvs/azuretest/lib/python3.4/site-packages/sql_server/pyodbc/base.py", line …
Run Code Online (Sandbox Code Playgroud) 我对诸如此类的包的了解pandas
相当浅,我一直在寻找将数据展平为行的解决方案。有了dict
这样的,有一个代理键名为entry_id
:
data = [
{
"id": 1,
"entry_id": 123,
"type": "ticker",
"value": "IBM"
},
{
"id": 2,
"entry_id": 123,
"type": "company_name",
"value": "International Business Machines"
},
{
"id": 3,
"entry_id": 123,
"type": "cusip",
"value": "01234567"
},
{
"id": 4,
"entry_id": 321,
"type": "ticker",
"value": "AAPL"
},
{
"id": 5,
"entry_id": 321,
"type": "permno",
"value": "123456"
},
{
"id": 6,
"entry_id": 321,
"type": "company_name",
"value": "Apple, Inc."
},
{
"id": 7,
"entry_id": 321,
"type": "formation_date", …
Run Code Online (Sandbox Code Playgroud) 我使用的是Python 3.6,pyodbc,并连接到SQL Server.
我正在尝试连接到数据库,然后创建带参数的查询.
这是代码:
import sys
import pyodbc
# connection parameters
nHost = 'host'
nBase = 'base'
nUser = 'user'
nPasw = 'pass'
# make connection start
def sqlconnect(nHost,nBase,nUser,nPasw):
try:
return pyodbc.connect('DRIVER={SQL Server};SERVER='+nHost+';DATABASE='+nBase+';UID='+nUser+';PWD='+nPasw)
print("connection successfull")
except:
print ("connection failed check authorization parameters")
con = sqlconnect(nHost,nBase,nUser,nPasw)
cursor = con.cursor()
# make connection stop
# if run WITHOUT parameters THEN everything is OK
ask = input ('Go WITHOUT parameters y/n ?')
if ask == 'y':
# SQL without parameters start
res …
Run Code Online (Sandbox Code Playgroud) 我开始从我使用的 CMS 内的 Google 地图小部件收到此错误:
This API key is not authorized to use this service or API. Places API error: ApiTargetBlockedMapError
该错误消息提供了指向此页面的有用链接,其中包括以下文本:
ApiTargetBlockedMapError 错误
Maps JavaScript API 尚未获得使用的 API 密钥的授权。请在 Google Cloud Platform Console 中检查您的 API 密钥的 API 限制设置。
请参阅 Google Cloud Platform Console 中的 API 密钥。有关更多信息,请参阅使用 API 密钥。
我知道 Google 过去已经调整过这个 API,所以我进入控制台并检查了为我正在使用的密钥提供的权限。它包括这四个权限,其中包括Maps JavaScript API权限:
唯一不起作用的部分是地址自动完成。当我更改为Don't Restrict Key
密钥适用于所有服务的模式时,它工作正常。知道我可能缺少哪个服务复选框吗?我想知道谷歌是否只是显示错误的错误。
有任何想法吗?
我在 Python 3 上使用 Django 1.8.4,并尝试创建一个身份验证后端,该后端验证来自旧版 ColdFusion 网站的 cookie,并在检查数据库中的值后创建/登录 Django 用户。在设置中,我包括后端:
AUTHENTICATION_BACKENDS = (
'site_classroom.cf_auth_backend.ColdFusionBackend',
)
Run Code Online (Sandbox Code Playgroud)
以及后端本身的代码;SiteCFUser 是一个针对 SQL Server 数据库用户模型的模型,其中包含活动 cookie 令牌值:
from django.contrib.auth.backends import ModelBackend
from django.contrib.auth import get_user_model
from users.models import SiteCFUser
class ColdFusionBackend(ModelBackend):
"""
Authenticates and logs in a Django user if they have a valid ColdFusion created cookie.
ColdFusion sets a cookie called "site_web_auth"
Example cookie: authenticated@site+username+domain+8E375588B1AAA9A13BE03E401A02BC46
We verify this cookie in the MS SQL database 'site', table site_users, column user_last_cookie_token
"""
def authenticate(self, request): …
Run Code Online (Sandbox Code Playgroud) python django django-models django-authentication django-class-based-views
因此,我将django-cors-headers与带有Django 1.11.x的Rest Framework一起使用,并且我已经大致遵循了一般建议,但是,我仍然x has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
在请求的资源上使用header。”可以看到,我已经在INSTALLED_APPS和'corsheaders.middleware.CorsMiddleware'
上添加了“ corsheaders” Middleware
,并且我也将其设置CORS_ORIGIN_ALLOW_ALL
为true和CORS_ALLOW_CREDENTIALS
true。甚至包括白名单选项,尽管据我了解,如果CORS_ORIGIN_ALLOW_ALL
将其设置为true,白名单是不需要的,我也有pip3 install django-cors-headers
什么关系???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????就必道之·,我已经阅读了django-cors-headers仓库中的自述文件,我想知道为什么它不起作用。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'corsheaders',
'books.apps.BooksConfig',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
CSRF_TRUSTED_ORIGINS = (
'localhost:5555'
)
Run Code Online (Sandbox Code Playgroud)
从本地主机:5555访问的我的js文件是:
var request = $.ajax({
type: 'GET',
url: url,
dataType: 'json',
xhrFields: {
withCredentials: true
}});
Run Code Online (Sandbox Code Playgroud) 非常感谢对此问题的任何帮助。
目标:使用 FreeTDS 将 Django 连接到 MSSQL 服务器。我正在使用 Debian x64 盒子。
问题:尝试建立连接时,我得到以下信息。
('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'libtdsodbc.so' : file not found (0) (SQLDriverConnect)")
Run Code Online (Sandbox Code Playgroud)
我/etc/odbcinst.ini
的配置如下
[FreeTDS]
Description = FreeTDS
driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Run Code Online (Sandbox Code Playgroud)
这些文件确实存在并且有 777 次测试访问权限。
连接字符串就像
cnxn = pyodbc.connect(
'DRIVER={FreeTDS};SERVER=' + server + ';PORT=1443;DATABASE=' + database + ';UID=' + username + ';PWD=' + password)
cursor = cnxn.cursor()
Run Code Online (Sandbox Code Playgroud)
我的 odbcinst -j 读取(因为添加了符号链接)
unixODBC 2.3.1
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: …
Run Code Online (Sandbox Code Playgroud) python ×8
django ×6
pyodbc ×3
sql ×2
asp.net ×1
cors ×1
dataframe ×1
detailsview ×1
django-orm ×1
flatten ×1
freetds ×1
google-maps ×1
javascript ×1
linux ×1
markers ×1
pandas ×1
postgresql ×1
rest ×1
sql-server ×1
wagtail ×1