Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django视图未在数据库中创建记录_Python_Html_Django_Foreign Keys_Admin - Fatal编程技术网

Python Django视图未在数据库中创建记录

Python Django视图未在数据库中创建记录,python,html,django,foreign-keys,admin,Python,Html,Django,Foreign Keys,Admin,我无法通过管理员在FinTransDetail表中创建记录:当我尝试添加记录时,我遇到了错误。请帮助解决这些问题。因为我不能通过管理员添加,所以我也不能通过视图添加记录。但我可以通过admin和by me视图在FinTransHeader中添加记录 型号: class FinTransHeader(models.Model): """Model representing a book (but not a specific copy of a book).&quo

我无法通过管理员在FinTransDetail表中创建记录:当我尝试添加记录时,我遇到了错误。请帮助解决这些问题。因为我不能通过管理员添加,所以我也不能通过视图添加记录。但我可以通过admin和by me视图在FinTransHeader中添加记录

型号:

 class FinTransHeader(models.Model):
"""Model representing a book (but not a specific copy of a book)."""
fh_type = models.CharField(max_length=200)
fh_code = models.CharField(max_length=200)
fh_no = models.DecimalField(max_digits = 5, decimal_places = 0,unique=True)
fh_dt = models.DateField()
fh_detail=models.CharField(max_length=200,blank=True,null=True)
fh_cust_code = models.CharField(max_length=200,blank=True,null=True)
fh_user_code =models.CharField(max_length=200,blank=True,null=True)
fh_ref=models.CharField(max_length=200,default='nil',blank=True,null=True)
fh_status=models.CharField(max_length=1,default=0)
fh_post_status = models.BooleanField(default=False)
th_prt_status=models.BooleanField(default=False)

def __str__(self):
    """String for representing the Model object."""
    return str(self.fh_code)
    # return self.fh_no

 class FinTransDetail(models.Model):
fd_no = models.ForeignKey( FinTransHeader,on_delete=models.CASCADE)
fd_acct = models.ForeignKey(AccountMaster, to_field='AcctCode',on_delete=models.CASCADE)
fd_debit = models.DecimalField(max_digits=12, decimal_places=2, default=0, blank=True)
fd_credit = models.DecimalField(max_digits=12, decimal_places=2, default=0, blank=True)
fd_detail=models.CharField(max_length=200, null=True, blank=True )
fd_tax = models.DecimalField(max_digits=12, decimal_places=2, default=0, blank=True)
fd_posting=models.BooleanField(default=False, blank=True, null=True)

def __str__(self):
    """String for representing the Model object."""
    # return self.ToString(AcctCode)+"-"+self.AcctName
    return str(self.fd_no)
当我尝试在FinTransDetail中添加记录时,我收到如下Html错误:

 TypeError at /admin/waccounts/fintransdetail/add/
 __str__ returned non-string (type int)
  Request Method:   GET
  Request URL:  http://127.0.0.1:8000/admin/waccounts/fintransdetail/add/
  Django Version:   3.1.1
  Exception Type:   TypeError
 Exception Value:   
 __str__ returned non-string (type int)
  Exception Location:   C:\Users\ESHACK.TOSHIBA-HOME\PycharmProjects\milestone1_udemy\venv\lib\site- 
 packages\django\forms\models.py, line 1240, in label_from_instance
 Python Executable: C:\Users\ESHACK.TOSHIBA- 
HOME\PycharmProjects\milestone1_udemy\venv\Scripts\python.exe
  Python Version:   3.7.4
  Python Path:  
 ['C:\\MY DATA FOLDER THOSHIBA\\MY FIELS_SYN_DOCSTOGO\\Django Projects',
 'C:\\Program Files\\JetBrains\\PyCharm 2019.2.6\\helpers\\pycharm_display',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\AppData\\Local\\Programs\\Python\\Python37-32',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\PycharmProjects\\milestone1_udemy\\venv',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\PycharmProjects\\milestone1_udemy\\venv\\lib\\site-packages',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\PycharmProjects\\milestone1_udemy\\venv\\lib\\site- 
packages\\setuptools-40.8.0-py3.7.egg',
 'C:\\Users\\ESHACK.TOSHIBA-HOME\\PycharmProjects\\milestone1_udemy\\venv\\lib\\site-packages\\pip- 
 19.0.3-py3.7.egg',
  'C:\\Program Files\\JetBrains\\PyCharm '
  '2019.2.6\\helpers\\pycharm_matplotlib_backend']
 Server time:   Thu, 06 May 2021 15:28:06 +0000

在数据库中,
FinTransDetail
fd_no
列将是
FinTransHeader
对象主键的值。这将是一个整数

def\uuuu str\uuuuuu(自):
返回self.fd_编号
返回
self.fd\u no
将返回该整数值

我想您希望
FinTransDetail
\uuuu str\uuuu
函数调用
FinTransHeader
\uu str\uuu
函数,因为它是一个外键,但如果您想获得
fh\u code
值,请使用

#FinTransDetail类
定义(自我):
返回self.fd\u编号fh\u代码

我觉得这些模型的str方法很好,也许您需要查看模型AccountMaster?(因为它是外键,所以它的选择小部件需要使用它的str方法)–Abdul Aziz Barkat 14小时前


阿卜杜勒·阿齐兹·巴卡特先生是对的。我更正了主帐户,它正在添加记录。感谢您为这些模型提供的
\uuu str\uuuu
方法,我觉得很好,也许您需要查看模型
AccountMaster
?(因为它是一个外键,所以它的select小部件需要使用它的
\uuu str\uu
方法)