При мутации долей поста я получаю сообщение "Переменная '$postId' получила недопустимое значение {'isTrusted': True, '_vts': 1714830156331} ID не может представлять значение
Используя Vue 3 и Django backend, использующий Graphql, я хочу подсчитывать доли нажатия на кнопку. Проблема в том, что обращение к PostId модели Post в django и graphene-django дает мне ошибку: "Variable '$postId' got invalid value {'isTrusted': True, '_vts': 1714830156331} ID cannot represent value
. Как я могу обратиться к PostId из базы данных Django?
В файле SocialMediaButtons.vue:
const toggleShares = (postId) => {
navigator.clipboard.writeText(window.open (shareUrl, '_blank'));
copied.value = true;
console.log('Post Shared!');
store.toggleShares(postId);
};
И используя управление состоянием Pinia, я имею userInteraction:
toggleShares(postId) {
const postStore = usePostStore();
const post = postStore.getPostBySlug(postId);
if (post) {
const url = window.location.origin + '/post/' + post.slug;
window.open(url, '_blank');
}
this.shares += 1; // Increment shares count
console.log('Share button clicked. Shares:', this.shares);
this.updateBackend(postId, 'shares', this.shares);
},
async updateBackend(postId, field, value) {
// Send GraphQL mutation to update backend
const response = await apolloClient.mutate({
mutation: gql`
mutation UpdatePostInteractions($postId: ID!, $likes: Int!, $dislikes: Int!, $shares:Int!) {
updatePostInteractions(postId: $postId, likes: $likes, dislikes: $dislikes, shares:$shares) {
post{
postId
likes
dislikes
shares}
}
}
`,
variables: {
postId,
likes: field === 'likes' ? value : this.likes,
dislikes: field === 'dislikes' ? value : this.dislikes,
shares: field === 'shares' ? value : this.shares,
},
});