小编Mar*_*ers的帖子

类型错误:__init__() 缺少 1 个必需的位置参数:'on_delete'

我正在尝试运行我的代码,但收到此错误:

  File "C:\Users\JOSHUA\Documents\ypgforum\myproject\boards\models.py", line 13, in <module>
    class Topic(models.Model):
  File "C:\Users\JOSHUA\Documents\ypgforum\myproject\boards\models.py", line 16, in Topic
    board = models.ForeignKey(Board, related_name='topics')
TypeError: __init__() missing 1 required positional argument: 'on_delete'
Run Code Online (Sandbox Code Playgroud)

这是它指向的 models.py:

class Topic(models.Model):
    subject = models.CharField(max_length=255)
    last_updated = models.DateTimeField(auto_now_add=True)
    board = models.ForeignKey(Board, related_name='topics')
    starter = models.ForeignKey(User, related_name='topics')
    last_updated = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

python django django-models

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

使用iter协议的类

我有一个创建建筑的小班.我想更多地了解国际热核实验堆.以下作品:

class Building(object):
    def __init__(self, floors):
        self._floors = [None] * floors

    def __setitem__(self, floor_number, data):
        self._floors[floor_number] = data

    def __getitem__(self, floor_number):
        return self._floors[floor_number]

    def __iter__(self):
        for floor_number in self._floors:
            yield self._floors[floor_number]


building1 = Building(9)  # Construct a building with 9 floors
building1[0] = 'Reception'
building1[1] = 'ABC Corp'
building1[2] = 'DEF Inc'
building1[3] = 'Apple'
building1[4] = 'Cisco'
building1[5] = 'Microsoft'
building1[6] = 'Dell'
building1[7] = 'EMC'
building1[8] = 'HPE'

'''
for floor in building1:
    print(building1[floor])
'''

print(building1[6]) …
Run Code Online (Sandbox Code Playgroud)

python iterator python-3.6

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

Python - isalpha() 在 unicode 修饰符上返回 True

u'\\u02c7'.isalpha()如果符号\xcb\x87不是字母,为什么返回 True?此方法仅适用于 ASCII 字符吗?

\n

python unicode python-unicode

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

计算字符串中的韩文字符数

我希望能够计算输入中有多少韩文字母,就像我处理英文字母和数字一样:

a=0
b=0
c=0
d=0
e=0

num = input("type something ")

for i in num:
    if(i.isupper()):
        a=a+1
    elif(i.islower()):
        b=b+1
    elif(i.isdigit()):
        c=c+1


print("uppercase letters: ",a)
print("lowercase letters: ",b)
print("numbers: ",c)
print("korean letters: ",d)
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做,我是否必须以ord()某种方式合并?

python unicode python-3.x

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

从 1 而不是 0 开始索引

我无法以起始索引 1 初始化数组。我使用了插入附加,并且我希望索引以 1 而不是 0 开头:

n=int(input('enter '))
array=[]
for i in range(1,n+1):
    print(i)
    element=int(input('element '))
    array.insert(i,element)
    #array.append(element)
    print(i,array[i])
Run Code Online (Sandbox Code Playgroud)

这给出了一个IndexError例外print(i,array[i])list index out of range.

python index-error

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

使用正则表达式添加前导零

说我有一个像这样的字符串

'1 - hello.mp3'
'22 - hellox.mp3'
'223 - hellox.mp3'
'hellox.mp3'
Run Code Online (Sandbox Code Playgroud)

我希望输出是

'001 - hello.mp3'
'022 - hellox.mp3'
'223 - hellox.mp3'
'hellox.mp3'
Run Code Online (Sandbox Code Playgroud)

也就是说,如果开头是数字,则附加 0 使其成为三位数。

有没有办法在python中使用正则表达式来实现?

python regex python-3.x

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

导出数据帧时如何修复“生成器”对象没有属性“to_csv”

我正在使用 Python 将数据从 Oracle 表导出到 Pandas DataFrame,然后导出到 CSV 文件。

但我收到此错误:

AttributeError: 'generator' object has no attribute 'to_csv'
Run Code Online (Sandbox Code Playgroud)

我无法找出我的代码的问题出在哪里:

import cx_Oracle
import csv
import pandas as pd
import sqlalchemy
from sqlalchemy import create_engine

DATABASE = "MY database"
SCHEMA   = "MY USER"
PASSWORD = "MY PASS"
connstr  = "oracle://{}:{}@{}".format(SCHEMA, PASSWORD, DATABASE)
conn     = sqlalchemy.create_engine(connstr)
result=pd.read_sql('My QUERY' , con=conn, chunksize=10000)
result.to_csv("test",sep=',',chunksize=10000)
Run Code Online (Sandbox Code Playgroud)

python oracle sqlalchemy export-to-csv pandas

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

python3中自动关闭文件?

我的想法是否正确,这会自动关闭文件?

def get_file():
    with open("file.csv", "rb") as f:
        yield f

f = get_file()
do_stuff(f)
Run Code Online (Sandbox Code Playgroud)

如果没有,我如何编写一个返回文件对象的函数,同时确保它在接收器使用完文件后关闭该文件?

python yield file with-statement python-3.x

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

如何根据嵌套列表中的元素删除列表列表的重复项

我想从列表列表中删除重复项。对于嵌套列表中的每个第二个元素,第一个元素并不总是唯一的。第一个值对于整个列表列表是唯一的。这些数字在整个列表中只出现一次,但没有排序。

my_list = [[4, 'C'], [1, 'A'], [3, 'B'], [2, 'A'], [5, 'C']]
Run Code Online (Sandbox Code Playgroud)

删除重复项基于嵌套列表中的第二个元素。我需要每个唯一的第二个元素的最小值,例如:

my_unique_list = [[1, 'A'], [3, 'B'], [4, 'C']]
Run Code Online (Sandbox Code Playgroud)

输出的顺序无关紧要。

因此,选择1for 'A'(因为 1 小于 2 from [2, 'A'])、3for 'B'(没有其他值'B')和4for 'C'(因为 4 小于 5, from [5, 'C'])。

python list unique set

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

如何在python3中节省内存?

我对python3.6中的内存错误有一些疑问

import itertools
input_list = ['a','b','c','d']
group_to_find = list(itertools.product(input_list,input_list))
a = []
for i in range(len(group_to_find)):
    if group_to_find[i] not in a:
       a.append(group_to_find[i])
Run Code Online (Sandbox Code Playgroud)
    group_to_find = list(itertools.product(input_list,input_list))
MemoryError
Run Code Online (Sandbox Code Playgroud)

python python-itertools python-3.x

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