Я столкнулся с проблемой, когда мне нужно отсортировать задания на основе поля min time_out в job_trade_contractors. Есть вероятность, что поле time_out может быть нулевым для job_trade_contractors. У меня есть ассоциации вроде:

1: job.rb

has_many :job_trades, dependent: :destroy
has_many :job_trade_contractors, through: :job_trades

2: job_trade.rb

has_many :job_trade_contractors, dependent: :destroy

3: job_trade_contractors.rb

belongs_to :job_trade, touch: true

В настоящее время я применяю сортировку заданий с помощью этого кода:

Job.left_joins(:job_trade_contractors).order("job_trade_contractors.time_out asc")

Как скомпилировать большую игру Python 3.6 в воспроизводимый файл .exe?

И почти ни один из рассмотренных мною вариантов не поддерживает Python 3. Все они останавливаются на Python 2.7 или более ранней версии, и попытка использовать любой из них в проекте Python 3 приводит к ошибкам или сбоям. Единственный вариант, который я обнаружил, что кажется имеет явную поддержку Python 3.6, - это pyinstaller, но проблема с pyinstaller заключается в том, что у меня очень большое количество художественных файлов и файлов игровых проектов, а pyinstaller, по-видимому, требует, чтобы вы вручную введите их один за другим, что займет слишком много времени. (Этот вопрос StackOverflow - это то, что я искал, чтобы прийти к такому выводу, но, пожалуйста, поправьте меня, если я ошибаюсь.) Я также посмотрел на Nuitka, но не уверен, что это то, что я ищу.

Ion-img в основном полезен для отложенной загрузки изображений (поскольку под капотом он использует наблюдатель пересечений). Но сам по себе ion-img - довольно простой компонент, см. Исходник:

j1 -> 1: job_trade_contractor -> id: 1 time_out: 21-01-2020 2: job_trade_contractor -> id: 2 time_out: 20-01-2020 3: job_trade_contractor -> id: 3 time_out: 11-01-2020 4: job_trade_contractor -> id: 4 time_out: 19-01-2020 5: job_trade_contractor -> id: 5 time_out: 23-01-2020 j2 -> 1: job_trade_contractor -> id: 1 time_out: 21-01-2020 2: job_trade_contractor -> id: 2 time_out: 20-01-2020 3: job_trade_contractor -> id: 3 time_out: 11-01-2020 4: job_trade_contractor -> id: 4 time_out: 10-01-2020 5: job_trade_contractor -> id: 5 time_out: 25-01-2020

Результат должен быть

Однако у меня проблема. В настоящее время игра построена на Python 3.6 , в основном из-за необходимости соответствовать версии PyGame, которую я хотел использовать для создания игры. Таким образом, чтобы создать исполняемый файл .exe, который будет служить тем, что пользователи нажимают, чтобы начать игру, мне нужно будет использовать что-то вроде cx_Freeze или pyinstaller, чтобы заморозить все файлы игры. в исполняемый файл.

Дубликат Как преобразовать .py в .exe для Python?

0
BIlal Khan 26 Дек 2019 в 16:22

2 ответа

Мы можем реализовать сортировку следующим образом, это может быть полезно для вас,

has_many :job_trade_contractors, through: :job_trades, order: 'job_trade_contractors.time_out'

Или

has_many :job_trade_contractors, ->  { order(time_out: :asc) }, through: :job_trades
0
Gokul p 26 Дек 2019 в 16:45
Спасибо за ваш ответ. Но я не хочу вносить никаких изменений в ассоциации. Я хотел бы получить запрос sql или что-то в этом роде
 – 
BIlal Khan
26 Дек 2019 в 17:00

Можешь попробовать

Job.joins(job_trades: :job_trade_contractors).order('job_trade_contractors.time_out').uniq
0
widjajayd 26 Дек 2019 в 17:32