@@ -1064,18 +1064,22 @@ def __applyFilter(self):
10641064 super ().setFilter (combinedFilter )
10651065
10661066 def isExist (self , record ):
1067+ from_sql = ("FROM coins"
1068+ f" { self .JOIN_BUY_PRICES } "
1069+ f" { self .JOIN_SELL_PRICES } " )
10671070 fields = ('title' , 'value' , 'unit' , 'country' , 'period' , 'ruler' ,
10681071 'year' , 'mint' , 'mintmark' , 'type' , 'series' , 'subjectshort' ,
1069- 'status' , 'material' , 'quality' , 'paydate' , 'payprice' ,
1070- 'saller' , 'payplace' , 'saledate' , 'saleprice' , 'buyer' ,
1071- 'saleplace' , 'variety' , 'obversevar' , 'reversevar' ,
1072- 'edgevar' )
1072+ 'status' , 'material' , 'quality' , 'buy_prices.date' ,
1073+ 'buy_prices.price' , 'buy_prices.counterparty' ,
1074+ 'buy_prices.place' , 'sell_prices.date' , 'sell_prices.price' ,
1075+ 'sell_prices.counterparty' , 'sell_prices.place' , 'variety' ,
1076+ 'obversevar' , 'reversevar' , 'edgevar' )
10731077 filterParts = [field + '=?' for field in fields ]
10741078 sqlFilter = ' AND ' .join (filterParts )
10751079
10761080 db = self .database ()
10771081 query = QSqlQuery (db )
1078- query .prepare ("SELECT 1 FROM coins WHERE id<>? AND " + sqlFilter + " LIMIT 1" )
1082+ query .prepare (f "SELECT 1 { from_sql } WHERE coins. id<>? AND { sqlFilter } LIMIT 1" )
10791083 query .addBindValue (record .value ('id' ))
10801084 for field in fields :
10811085 query .addBindValue (record .value (field ))
0 commit comments