Я работаю над проектом Pythong flask и последние 30 часов я пытаюсь отсортировать таблицу данных по столбцу даты, но она не работает должным образом. когда я нажимаю кнопку сортировки, она сортирует данные, но ясно видно, что они отсортированы неправильно. Записи с 2020 года скрываются в конце таблицы при сортировке по убыванию. Когда я сортирую его в порядке возрастания, записи с 2018 года занимают первое место, но на самом деле записи с 2016 года должны идти сверху. Я не могу определить точную причину этой проблемы. Вот мой код из разных файлов. Кроме того, нумерация страниц также не работает.
/ view / users.py
def index(self):
query = User.query.filter((User.deleted == False))
result_data, query = self._process_pagination(query=query)
user_data = [
self._to_data(user)
for user in query.all()
]
result_data["items"] = user_data
return self._respond(result_data)
@classmethod
def _to_data(class_, user):
user_data = user._to_data(**{
"transform": class_._transform_image_path,
"exclude": [
"password",
"_password",
"deleted",
"verification_token",
"facebook_id",
"facebook_token",
"image_path"
],
"follow": {
"role": {
"exclude": [ "id", "user_id" ]
}
}
})
return user_data
Users. js
Vue.component("main-vue", {
"template": "#main-vue",
"data": function () {
return {
"users_table_options": {
"columns": [
{ "title": "First Name", "data": "first_name" },
{ "title": "Last Name", "data": "last_name" },
{ "title": "Email Address", "data": "email_address" },
{"title": "Registered", data: 'created_at', type: 'Registered',
render: function (data, type, row) { return data ? moment(data).format('DD/MMM/YYYY HH:MM:ss') : ''; }},
{"title": "Last Seen", data: 'active_at', type: 'Last Seen',
render: function (data, type, row) { return data ? moment(data).format('DD/MMM/YYYY HH:MM:ss') : ''; }}
],
"scrollY": "400px"
},
"users_table_status": {
},
"users": []
};
},
"props": [ "state" ],
"mounted": function () {
var self = this;
self.refresh_users();
},
"methods": {
"refresh_users": function () {
var self = this;
self.users = [];
UserManager.get_users().then(
function success_callback(result) {
self.users = result["items"];
},
function error_callback(error) {
self.state.event_bus.$emit("add_message", "danger", error.message);
}
);
},
"edit": function (event) {
var self = this;
self.state.event_bus.$emit("goto_edit_view", self.users_table_status.selection[0]);
},
"new_": function (event) {
var self = this;
self.state.event_bus.$emit("goto_new_view");
},
"delete_": function (event) {
var self = this;
self.state.event_bus.$emit("confirm", "Delete", "delete the selected user", function operation() {
var user = self.users_table_status.selection[0];
log.debug(fmt("will delete {}", JSON.stringify(user)));
UserManager.delete_user(user["id"]).then(
function success_callback() {
self.refresh_users();
ga("send", "event", { "eventCategory": "Users", "eventAction": "Delete" });
},
function error_callback(error) {
self.$emit("add_message", "danger", error.message);
}
);
});
}
}
});
Users. html
<data-tables :options="users_table_options"
:status="users_table_status"
:data="users">
</data-tables>